Bonjour,
En faisant des recherche, je suis tombé sur cette page :
https://forums.oracle.com/forums/thr...hreadID=319710
J'ai décidé d'appliquer la dernière proposition postée malheureusement je n'est pas l'impression que mon IF fonctionne ! J'ai toujours une erreur si la table existe déjà.
Merci d'avance
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
19
20
21
22
23
24
25 -- Create Package CREATE OR REPLACE PACKAGE pkg IS -- Create Table PROCEDURE create_table (p_table_name IN VARCHAR2 ); END; / CREATE OR REPLACE PACKAGE BODY pkg IS PROCEDURE create_table ( p_table_name IN VARCHAR2) IS l_table_name VARCHAR2(30); l_test NUMBER; BEGIN l_table_name := dbms_asset.simple_sql_name(p_table_name); EXECUTE IMMEDIATE 'SELECT count(table_name) FROM tabs WHERE upper(table_name) = upper(' || l_table_name || ')' INTO l_test; IF l_test = 0 THEN EXECUTE IMMEDIATE 'CREATE TABLE ' || l_table_name || ' AS SELECT * FROM v$session'; END IF; END; END;
Partager