Bonjour, je souhaite ajouter un lock complet d'une table dans une procédure stockée (Firebird 2.0.3.12981) mais j'obtiens une erreur à la compilation de ma procédure stockée:
Statement failed, SQLCODE = -104.
Alors que l'execution de la requete (SELECT * FROM DOCUMENT FOR UPDATE WITH LOCKfonctionne parfaitement en dehors de la procédure stockée. Bien sur, la même procédure sans cette requête est fonctionnelle.
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 SET TERM ^; CREATE OR ALTER PROCEDURE P_CONCATENATION ( ID_NEW_DOC VARCHAR(25), ID_DOC_TO_ADD VARCHAR(25), BEFORE_NEW INTEGER ) RETURNS ( ETAT VARCHAR(50) ) AS DECLARE VARIABLE C_DOCTYPEID INTEGER; DECLARE VARIABLE C_PAGEID INTEGER; DECLARE VARIABLE C_MIMEID INTEGER; --Nombre de pages du document DECLARE VARIABLE NBPAGE INTEGER; --Nombre de page du document à ajouter DECLARE VARIABLE NBPAGEDOCTOADD INTEGER; -- No de page du document conteneur DECLARE VARIABLE NOPAGE INT; BEGIN SELECT * FROM DOCUMENT FOR UPDATE WITH LOCK; ... SUSPEND; END^ SET TERM ;^
Par avance, merci de votre aide.
Partager