Bonjour, j'ai une procédure stockée sous SQLSERVER que je ne parviens pas à traduire vers FIREBIRD.

Voici la procédure :

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
 
CREATE PROCEDURE SYSGEN
    @seq_id varchar(100),
    @res INT OUTPUT
 
    AS
        -- return an error if sequence does not exist
        -- so we will know if someone truncates the table
            set @res = -1
 
            UPDATE syssequence
            SET @res = sequence_id = sequence_id + 1
                WHERE  seq = @seq_id
 
                RETURN @sequence_id
J'ai essayé de la traduire comme ceci :
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
 
CREATE PROCEDURE SYSGEN (
    SEQ_ID VARCHAR(30))
RETURNS (
    RES INTEGER)
AS
begin
  /* Retourne -1 si la séquence n'existe pas */
  RES= -1;
 
  UPDATE "SYSSEQUENCE "
  SET RES= SEQUENCE_ID = SEQUENCE_ID + 1
  WHERE SEQ = :SEQ_ID;
 
end
Mais la ligne :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
SET RES= SEQUENCE_ID = SEQUENCE_ID + 1

Ne pase pas.

Merci