| SQL : mise au point Procédure stockée |
|
Il vous faudra créer un fichier log qui contiendra au moins sqlcode et sqlstate
CREATE TABLE RECUP.ERRORLOG (
SQLSTATE CHAR(5) CCSID 297 NOT NULL DEFAULT '' ,
MSGTEXT CHAR(70) CCSID 297 NOT NULL DEFAULT '' ,
-- SQLCODE INTEGER NOT NULL DEFAULT 0 )
Vous devrez inclure ensuite dans votre procédure le code suivant :
CREATE PROCEDURE GetDiag()
LANGUAGE SQL
BEGIN
DECLARE W_msgtxt CHAR(70);
DECLARE W_msgtxtlen INTEGER;
DECLARE W_sqlstate CHAR(5);
DECLARE W_sqlcode INT ;
DECLARE CONTINUE HANDLER FOR SQLEXCEPTION
BEGIN
GET DIAGNOSTICS EXCEPTION 1
w_msgtxt = MESSAGE_TEXT,
w_msgtxtlen = MESSAGE_LENGTH,
W_sqlstate = RETURNED_SQLSTATE,
W_sqlcode = DB2_RETURNED_SQLCODE;
INSERT INTO errorlog VALUES(W_sqlstate, W_msgtxt, W_sqlcode);
END;
-- Vos instructions ICI
END;
Cela peut grandement vous aider sur vos mises au point qui sont parfois difficiles.
|