J'ai un problème que je suis incapable de savoir la raison, ainsi que la solution. J'explique avec l'exemple que j'essaie de tout simplement lire une base à distance avec un trigger. Le problème est du faite qui me met : Table or View not exist. Voici tout les éléments en code.
Errors for TRIGGER AJ_M_S1:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 CREATE OR REPLACE TRIGGER Aj_M_S1 INSTEAD OF INSERT ON V_V1_MEMBRE FOR EACH ROW declare conti varchar2(32); conti2 varchar2(32); Begin select continent into conti from PAYS where :New.Nompays = NomPays; select continent into conti2 from PAYS@testsg107662 where :New.Nompays = NomPays; End; / show errors;
LINE/COL ERROR
-------- -----------------------------------------------------------------
6/1 PL/SQL: SQL Statement ignored
6/35 PL/SQL: ORA-00942: table or view does not exist
Si j'enlève la ligne contenant le database link PAYS@testsg107662, le trigger marche parfaitement. Toujours dans le même ordinateur, je fais les descriptions des tables pour vérifier mes datalinks.
Encore mieux, j'arrive à créer une vue entre ces deux table sans aucun problème.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 SQL> desc pays; Name Null? Type ----------------------------------------- -------- ---------------------------- NOMPAYS NOT NULL VARCHAR2(32) CONTINENT VARCHAR2(32) SQL> desc pays@testsg107662; Name Null? Type ----------------------------------------- -------- ---------------------------- NOMPAYS NOT NULL VARCHAR2(32) CONTINENT VARCHAR2(32)
Et aussi, si je tape : select * from pays@testsg107662; il n'a aucun problème, il y a juste un probleme de trigger et je ne vois pas la solution. Les deux tables ont les même valeurs au niveau base de donnée.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 create or replace view v_pays as SELECT * FROM PAYs union select * from pays@testsg107662; 2 View created.
Quelqu'un aurait une solution? ca serait sympa... Merci d'avance....
Partager