Bonjour à tous,

J'ai 2 user dans la même instance :
sunopsis et odshr

Je me connecte avec odshr pour donner le droit suivant à sunopsis :
grant create any procedure to sunopsis ;

Je me connecte avec sunopsis et je lance le script suivant :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
CREATE OR REPLACE PROCEDURE odshr.Script_desactive_PK_ODS IS
CURSOR c_table IS
SELECT table_name, constraint_name
FROM SYS.ALL_CONSTRAINTS 
WHERE OWNER = 'ODSHR'
and table_name like 'HRA_%'
and constraint_type = 'P' ;
i c_table%ROWTYPE;
BEGIN
FOR i IN c_table
LOOP
EXECUTE IMMEDIATE 'alter table ODSHR.' || i.table_name || ' disable constraint ' || i.constraint_name ;
END LOOP;
END;
Mais j'obtiens l'erreur suivante :
Error on line 0
CREATE OR REPLACE PROCEDURE odshr.Script_desactive_PK_ODS IS
CURSOR c_table I
ORA-01031: insufficient privileges

Je n'y comprends rien...
Note : la procédure fonctionne très bien si je la lance avec odshr