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 :
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.
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;
Si quelqu'un à des propositions je suis preneur.
Merci d'avance
Partager