Salut,

J’ai crée un bloc de données (bloc2) à partir d’une procédure stockées qui utilise une table d’enrégistrements, et j’ai aussi crée une relation (maitre/détail) entre ce bloc et un autre (bloc1) où bloc1 est le maitre et bloc2 est le détail.

Lorsque j’exécute l’application, il y’a erreur dans le déclencheur on-check-delete-master.

Voici le contenu du déclencheur :


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
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
 
 
-- Begin default relation declare section 
-- 
DECLARE 
  Dummy_Define CHAR(1); 
  -- 
  -- Begin SESSIONS detail declare section 
  -- 
  CURSOR SESSIONS_cur IS      
    SELECT 1 FROM pack1.querydata p – c’est là qu’il y’a erreur      
    WHERE p.NUMERO_MODULE = :MODULE.NUM_MODULE; 
  -- 
  -- End SESSIONS detail declare section 
  -- 
-- 
-- End default relation declare section 
-- 
-- 
-- Begin default relation program section 
-- 
BEGIN 
  -- 
  -- Begin SESSIONS detail program section 
  -- 
  OPEN SESSIONS_cur;      
  FETCH SESSIONS_cur INTO Dummy_Define;      
  IF ( SESSIONS_cur%found ) THEN      
    Message('Suppression de l''enregistrement maître impossible s''il existe des enregistrements détails correspondants.');      
    CLOSE SESSIONS_cur;      
    RAISE Form_Trigger_Failure;      
  END IF; 
  CLOSE SESSIONS_cur; 
  -- 
  -- End SESSIONS detail program section 
  -- 
END; 
-- 
-- End default relation program section 
--


voici le message d’erreur:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
 
l’identificateur ‘pack1.querydata’ doit être déclaré.

En fait, pack1 est le nom du package qui contient la procédure querydata (procédure pour interroger le bloc bloc2).
J’ai pas défini de procédure pour la suppréssion d’enrégistrement dans le bloc détail (dans le package), pensez –vous que ce soit cela qui soit à l’origine de cette érreur ?

Aidez moi svp. merci