Bonjour,
J'ai une erreur dasn un fonction stockée :

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
CREATE OR REPLACE
FUNCTION DEBUG (
    debut IN DATE,
    fin IN DATE,
 
) RETURN PLS_INTEGER
 
BEGIN
 
        FOR c IN (
            SELECT owner, table_name, constraint_name
            FROM all_constraints
            WHERE constraint_type = 'R'
            AND lower(table_name) IN ('a', 'b', 'c')
        ) LOOP
 
            EXECUTE IMMEDIATE 'ALTER TABLE ' || contrainte.owner || '.' || contrainte.table_name || ' DISABLE CONSTRAINT ' || contrainte.constraint_name ;
 
        END LOOP;
END DEBUG
J'ai l'erreur ;
Code : Sélectionner tout - Visualiser dans une fenêtre à part
Erreur -14552 : ORA-14552: opération DDL, COMMIT ou ROLLBACK interdite dans une instruction DML ou une interrogation
Si je met en commentaire la ligne EXECUTE IMMEDIATE, je n'ai pas de problème.Merci pour votre aide.