首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > IBM DB2 >

db2创造PROCEDURE成功,但是运行db2 call TESTCASE() 会报错

2013-01-04 
db2创建PROCEDURE成功,但是运行db2 call TESTCASE() 会报错本帖最后由 lxs_huntingjob 于 2011-09-29 15:4

db2创建PROCEDURE成功,但是运行db2 call TESTCASE() 会报错
本帖最后由 lxs_huntingjob 于 2011-09-29 15:49:16 编辑 创建PROCEDURE成功,但是运行db2 call TESTCASE() 会报错,哪位大侠知道是什么原因吗
以前是console 里面的显示:
$ db2 -td@ -vf /mnt/hgfs/Win2Ubuntu-2/put_line/put_line_aix/testcase.sqp
CREATE PROCEDURE TESTCASE() RESULT SETS 0 LANGUAGE SQL
L_TESTCASE:
BEGIN NOT ATOMIC 
DECLARE V_DEPTNOSMALLINT;
DECLARE V_DEPTNAMEVARCHAR(20);
DECLARE V_DIVISIONVARCHAR(20);
-- FOR DEBUG
DECLARE V_NUMSMALLINT DEFAULT 0;
DECLARE V_MSG1VARCHAR(4000);
DECLAREV_MSG2VARCHAR(1);
-- END
-- SAMPLE1
SET V_NUM=2000;
SET V_MSG1='debugging start';
VALUES(PUT_LINE(V_NUM,V_MSG1)) INTO V_MSG2;
-- SAMPLE2
VALUES(PUT_LINE(SMALLINT(2),'this is no2')) INTO V_MSG2;
-- SAMPLE3
VALUES(PUT_LINE(3)) INTO V_MSG2;
-- SAMPEL4
VALUES(PUT_LINE('##number4##')) INTO V_MSG2;
-- SAMPLE5
SET V_NUM = 0;
   FOR V_C1_REC AS C1 CURSOR FOR
SELECT DEPTNUMB, DEPTNAME, DIVISION
FROM ORG ORDER BY DEPTNUMB DESC
   DO
      SET V_DEPTNO   = v_C1_REC.DEPTNUMB;
SET V_DEPTNAME = v_C1_REC.DEPTNAME;
 SET V_DIVISION = v_C1_REC.DIVISION;
SET V_NUM = V_NUM + 1;
SET V_MSG1 ='DEPTNO=' || CHAR(V_DEPTNO)||','
||'DEPTNAME='||V_DEPTNAME||','
||'DIVISION='||V_DIVISION;
VALUES(PUT_LINE(V_NUM,V_MSG1)) INTO V_MSG2;
   END FOR;
VALUES(PUT_LINE(32000,'end of the program')) INTO V_MSG2;

END L_TESTCASE

DB20000I  The SQL command completed successfully.

$ db2 call testcase()
sh: Syntax error: "(" unexpected

[解决办法]
db2 "call testcase()"
[解决办法]
接上你模式名就可以了,例如:db2 call SCHEMA.TESTCASE()

热点排行