J'ai cette SP toute simple mais il ne veut pas de mon declare. j'ai pourtant besoin de cette variable pk_f (j'ai simplifié la SP, il manque du code qui justement, utilise cette variable)

Quelqu'un saurait comment dois-je mettre ce simple petit declare pour avoir une variable de type number que je puisse modifier. je n'ai pas besoin de la retourner au final (out)

merci d'avance

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
CREATE OR REPLACE PROCEDURE sp_createalertfile (
   p_id               OUT      NUMBER,
   p_usr              IN       VARCHAR2 DEFAULT '',
   p_global_comment   IN       VARCHAR2 DEFAULT '',
   p_file             IN       VARCHAR2
)
AS
DECLARE pk_file number;
BEGIN
   SELECT pk_file
     INTO pk_f
     FROM t_files
    WHERE file_name = p_file;
 
   INSERT INTO t_alerts
               (pk_alert, pk_file, global_comment, created_on, created_by
               )
        VALUES (sq_alert.NEXTVAL, pk_f, p_global_comment, SYSDATE, p_usr
               );
 
   SELECT sq_alert.CURRVAL
     INTO pk_id
     FROM DUAL;
END sp_createalertfile;
/