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à.

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;
Merci d'avance