Bonjour,
Je voudrais savoir comment modifier le code ci-dessous pour pouvoir créer des dossiers (directory) dynamiquement.
SGBD : Oracle , VER : 10g Enterprise Edition Release 10.2.0.3.0
Machine personnelle : Win XP
Connexion : sqlplus sys/change_on_install as sysdba
[Code]
DECLARE
v_table_name all_tab_columns.table_name%TYPE;
v_column_name all_tab_columns.column_name%TYPE;
LC$Requete VARCHAR2(512) ;
LN$Total PLS_INTEGER;
LC$Chemin VARCHAR2(50) ;
CURSOR C1 IS SELECT DISTINCT table_name FROM all_tab_columns
WHERE table_name in ('EMP','DEPT','SALGRADE','BONUS');
BEGIN
LC$Chemin := 'c:\test\';
OPEN C1;
LOOP
FETCH C1 INTO v_table_name;
EXIT WHEN C1%NOTFOUND;
LC$Requete := 'CREATE OR REPLACE DIRECTORY ' || v_table_name || ' as ' || LC$Chemin;
EXECUTE IMMEDIATE LC$Requete;
-- GRANT READ, WRITE ON DIRECTORY xxxx TO PUBLIC ;
END LOOP;
CLOSE C1;
END;
/
[Fin code]
NB : pour le moment j'ai figé LC$Chemin, que je voudrai également utiliser dynamiquement(c:\emp\, c:\dept\...).
J'obtiens alors le message d'erreur suivant en exécutant le code :
ERREUR Ó la ligne 1 :
ORA-01780: constante de cha¯ne obligatoire
ORA-06512: Ó ligne 25
Merci
Partager