voilà je chercher à récupérer le prochain message_id
pour cela je fait un select max message_id
puis je fecth le résultat dans ma variable en out
si le résultat de la requête et null alors je décide de mettre le paramètre à 1.
sinon j'incrémente mon message_Id.
et finalement je retourne mon paramètre.
Avez vous une idée de ce qui peut empêcher l'exécution de ce bloque.
Y a t'il une erreur de codage flagrante ?
merci de votre aide
voici le code en question :
edit : le select Max marche, déjà tester à part
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 DECLARE mess_id_ NUMBER; CURSOR get_last_message_id_ IS SELECT MAX(message_id) FROM &AO.PURCHASE_ORDER_RESPONSE; BEGIN OPEN get_last_message_id_; FETCH get_order_info_ INTO mess_id_; IF get_order_info_%FOUND THEN mess_id_ := (mess_id_ + 1 ); ELSE mess_id_ := 1; END IF CLOSE get_last_message_id_; :MESS_ID_:= mess_id_ ; END;
Partager