Je voudrais réaliser un test dans une procédure mais j'au un soucis, voici ma 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
16
17
18
19
20
21
22
23
24
25
CREATE PROCEDURE DEMANDE_PEC (
  NUM_DEMANDE INTEGER,
  ID_USER INTEGER
)  AS        
DECLARE VARIABLE GESTION_BUDGET_PAR CHAR(5);
BEGIN
 
SELECT GESTION_BUDGET_PAR 
FROM PARAM_BT 
INTO 
  :GESTION_BUDGET_PAR;
 
IF( GESTION_BUDGET_PAR = "Services") THEN
UPDATE CENTRE_COUT SET 
 BUDGET = ((SELECT BUDGET FROM CENTRE_COUT WHERE ID_CENTRE_COUT = (SELECT COMPTEIMPUTATION FROM DEMANDES WHERE ID_DEMANDE = :NUM_DEMANDE)) - ((SELECT TARIF FROM DEMANDES WHERE ID_DEMANDE = :NUM_DEMANDE)/1000))
WHERE ID_CENTRE_COUT = (SELECT COMPTEIMPUTATION FROM DEMANDES WHERE ID_DEMANDE = :NUM_DEMANDE)
;
 
IF( GESTION_BUDGET_PAR = "Utilisateurs") THEN
UPDATE UTILISATEURS SET 
 BUDGET = ((SELECT BUDGET FROM UTILISATEURS WHERE ID_USER = :ID_USER) - ((SELECT TARIF FROM DEMANDES WHERE ID_DEMANDE = :NUM_DEMANDE)/1000))
WHERE ID_USER = :ID_USER
;
 
END