[shell][débutante]problème d'execution requete avec sqlplus
Bonjour,
je dois dans mon script shell executer une requete de sélection particulière, qui doit me générer les requetes 'alter table' pour activer toutes les contraintes de ma base : voici la requete :
Code:
select 'alter table '||table_name||' enable constraint '||constraint_name||';' from dba_constraints where owner = upper('MA_BASE');
Je sais que cette requete fonctionne très bien car je l'ai déja executé "à la main" (sans le script shell).
Mon problème se situe donc lorsque j'essaie d'intégrer cette requete dans mon script. voici le code :
Code:
1 2 3 4 5 6 7
| requete="select 'alter table '||table_name||' enable constraint '||constraint_name||';' from dba_constraints where owner = upper('MA_BASE');"
echo $requete
resultReq=`sqlplus -silent << Fin
${USER}/${PSWD}
$requete
Fin`
echo $resultReq |
quand j'essaie d'executer ce script, voila le résultat qu'il m'affiche dans ma console :
Citation:
select 'alter table '||table_name||' enable constraint '||constraint_name||';' from dba_constraints where owner = upper('MA_BASE');
select 'alter table '||table_name||' enable constraint '||constraint_name||';' from dba_constraints where owner = upper('MA_BASE') rep1 rep2 file1 file2 ERROR at line 1: ORA-00942: table or view does not exist
rep1 rep2 file1 file2 correspondent aux repertoires et fichiers présents dans mon dossier d'execution de mon script shell.
Lorsqu'à la place de ma requete "select 'alter table..." je lui mets une simple requete de selection "select * from une_table" tout s'execute normalement. Je suppose donc que mon problème provient des caractères sépciaux de ma requete "|", mais je n'ai aucune idée de comment gérer ce problème. Sauriez comment je dois m'y prendre ?
Merci d'avance pour votre aide