[ ultraKeen @ 03.05.2004. 22:20 ] @
...sve pise dole u koodu, dovoljno je donje pokrenuti iz ISQL-a IBConsole SET TERM ^; /*========================================================================================*/ CREATE PROCEDURE Y_Y (n_1 INTEGER, c_A CHAR(3), n_2 INTEGER, c_B CHAR(3), n_3 INTEGER, c_C CHAR(3)) RETURNS (nZ_1 INTEGER, cZ_A CHAR(3), nZ_2 INTEGER, cZ_B CHAR(3), nZ_3 INTEGER, cZ_C CHAR(3), nZ_4 INTEGER, cZ_D CHAR(3)) AS DECLARE VARIABLE n_4 INTEGER; DECLARE VARIABLE c_D CHAR(3); BEGIN n_4 = 400; c_D = 'DDD'; nZ_1 = n_1; cZ_A = c_A; nZ_2 = n_2; cZ_B = c_B; nZ_3 = n_3; cZ_C = c_C; nZ_4 = n_4; cZ_D = c_D; END^ /*----------------------------------------------------------------------------------------*/ CREATE PROCEDURE X_X (n_2 INTEGER, c_B CHAR(3)) RETURNS (nX_1 INTEGER, cX_A CHAR(3), nX_2 INTEGER, cX_B CHAR(3), nX_3 INTEGER, cX_C CHAR(3), nX_4 INTEGER, cX_D CHAR(3), nX_5 INTEGER, cX_E CHAR(3)) AS DECLARE VARIABLE n_3 INTEGER; DECLARE VARIABLE c_C CHAR(3); /**/ DECLARE VARIABLE n_5 INTEGER; DECLARE VARIABLE c_E CHAR(3); /* */ DECLARE VARIABLE nY_1 INTEGER; DECLARE VARIABLE nY_2 INTEGER; DECLARE VARIABLE nY_3 INTEGER; DECLARE VARIABLE nY_4 INTEGER; /**/ DECLARE VARIABLE cY_A CHAR(3); DECLARE VARIABLE cY_B CHAR(3); DECLARE VARIABLE cY_C CHAR(3); DECLARE VARIABLE cY_D CHAR(3); BEGIN n_3 = 300; c_C = 'CCC'; nY_1 = 0; cY_A = ' '; /* tumaci se kako je napisano */ nY_2 = 0; cY_B = ' '; /* tumaci se kako je napisano */ nY_3 = 0; cY_C = ' '; /* tumaci se kako je napisano */ nY_4 = 0; cY_D = ''; /* JEDINO se empty string tumaci kao NULL */ EXECUTE PROCEDURE Y_Y (100, 'AAA', :n_2, :c_B, :n_3, :c_C) RETURNING_VALUES :nY_1, :cY_A, :nY_2, :cY_B, :nY_3, :cY_C, :nY_4, :cY_D; /*======================================================================================*/ /* PROBLEM: */ /* vracene vrednosti iz RETURNING_VALUES liste se UNUTAR ove proc. NE VIDE !!! */ /* vec i posle EXECUTE PROCEDURE ostaju kakve su bile I PRE nje... */ /* */ /*======================================================================================*/ n_5 = 500; c_E = 'EEE'; nX_1 = nY_1; cX_A = cY_A; nX_2 = nY_2; cX_B = cY_B; nX_3 = nY_3; cX_C = cY_C; nX_4 = nY_4; cX_D = cY_D; nX_5 = n_5; cX_E = c_E; END^ /*========================================================================================*/ SET TERM ;^ |