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 :
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
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
Code : Sélectionner tout - Visualiser dans une fenêtre à part
select cd_client from B.Table1
par
Code : Sélectionner tout - Visualiser dans une fenêtre à part
select cd_client from A.Table1
Je n'ai aucun problème.
Si je me met simplement dans un SQL et que je fais
Code : Sélectionner tout - Visualiser dans une fenêtre à part
select cd_client from B.Table1
cela fonctionne.

Quelqu'une a-t-il une idée?
Merci d'avance.