Bonjour,

Je cherche à faire un équivalent du IF EXIST pour Oracle pour mon script de création de table/sequence/trigger mais je ne trouve pas comment faire pour chacun de mes éléments.

Voici mon script de base :

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
26
27
28
29
30
 
Drop table FULL_PURGE_TABLES;
 
Create Table DBDWIRDUSR.FULL_PURGE_TABLES(
    ID_TABLE number(10),
    TABLE_NAME varchar(30 char),
    NB_LIGNE_ENTREE number(30),
    NB_LIGNE_SORTIE number(30),
    NB_LIGNE_PURGE number(30),
    ETAPE number(1),
    DT_DEB date,
    DT_FIN date
);
 
Alter Table DBDWIRDUSR.FULL_PURGE_TABLES ADD(
CONSTRAINT PK_PURGE_FULL PRIMARY KEY (ID_TABLE));
 
CREATE SEQUENCE PURGE_SEQUENCE;
 
CREATE OR REPLACE TRIGGER PURGE_ON_INSERT
  BEFORE INSERT ON FULL_PURGE_TABLES
  FOR EACH ROW
BEGIN
  SELECT PURGE_SEQUENCE.nextval
  INTO :new.ID_TABLE
  FROM dual;
END;
/
 
commit;
J'ai cru comprendre que pour la table il fallait chercher dans all_tables si la table existe ou non. Mais pour le reste je ne sais pas comment faire.
Si quelqu'un à des propositions je suis preneur.

Merci d'avance