J'ai une base Oracle dans laquelle j'ai deux users A et B.
Je suis connecté à A.
Je cherche à créer un procédure stockée dans laquelle j'ai un cursor CUR_Purge qui doit aller voir des tables du user B.
J'ai le code suivant :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| CREATE OR REPLACE PROCEDURE PROC_K_CLI_PURGE(Jour date)
AS
CURSOR CUR_Purge IS
SELECT cd_client, '' ka_cli
FROM (
select cd_client from B.Table1
)
;
REC_CUR_PURGE CUR_PURGE%ROWTYPE;
BEGIN
OPEN CUR_PURGE;
LOOP
FETCH CUR_PURGE INTO REC_CUR_PURGE;
EXIT WHEN CUR_PURGE%NOTFOUND;
INSERT INTO k_cli_purge (CD_CLIENT, KA_CLI, A_SUPPRIMER) values (REC_CUR_PURGE.CD_CLIENT,REC_CUR_PURGE.KA_CLI,'1') ;
END LOOP;
CLOSE CUR_Purge;
END; |
Mon problème est que ma procédure refuse de compiler (Warning: compiled but with compilation errors).
Si je remplace
select cd_client from B.Table1
par
select cd_client from A.Table1
Je n'ai aucun problème.
Si je me met simplement dans un SQL et que je fais
select cd_client from B.Table1
cela fonctionne.
Quelqu'une a-t-il une idée?
Merci d'avance.
Partager