Bonjour,
Comment puis-je créer une table externe dans une procédure stockée.
J'appelle ensuite cette procédure pour un traitement périodique dans mon appli sous PowerBuilder.
Merci
Bonjour,
Comment puis-je créer une table externe dans une procédure stockée.
J'appelle ensuite cette procédure pour un traitement périodique dans mon appli sous PowerBuilder.
Merci
Le seul moyen de faire passer des ordres DDL dans une procédure stockée c'est de le faire en dynamique :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2v$_mysql := 'CREATE TABLE MaTable (col number(1))'; EXECUTE IMMEDIATE v$_mysql;
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 Connected to Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 Connected as mni SQL> desc matable Object matable does not exist. SQL> begin dbms_utility.exec_ddl_statement('CREATE TABLE MaTable (col number(1))'); end; 2 / PL/SQL procedure successfully completed SQL> desc matable Name Type Nullable Default Comments ---- --------- -------- ------- -------- COL NUMBER(1) Y SQL>
Bonjour,
C'est une très mauvaise approche de créer des tables à la volée en passant par EXECUTE IMMEDIATE, il faut toujours avoir la définition des tables dans des fichiers de SCRIPT propre à chaque objet de façon statique ou utiliser GLOBAL TEMPORARY TABLE.
C'est sûrement un problème de design.
Partager