免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1487 | 回复: 0
打印 上一主题 下一主题

紧急求助DB2存储过程的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-09-24 13:39 |只看该作者 |倒序浏览
CREATE  procedure  fetch_10imeino
(IN     op_timer char(7) ,OUT  st int )
LANGUAGE SQL
BEGIN
Declare imei_no char(15);
declare at_end   smallint  default  0;
declare imeino_count  integer;
declare imeino_counts integer;
declare stmt    varchar(1024);

DECLARE not_found
    CONDITION FOR SQLSTATE '02000';
DECLARE imei_cursor CURSOR FOR
SELECT  imei_no  FROM  ms_06031_tmp   ;

DECLARE CONTINUE HANDLER FOR not_found   SET at_end = 1;

set   imeino_count=0;

select count(*) into  imeino_counts  from  ms_06031_tmp  ;

OPEN imei_cursor;
-- Perform the first fetch.
fetch_loop:
REPEAT
FETCH  imei_cursor into imei_no;
set  imeino_count=imeino_count+1;

---insert into ms_06031_10count (imei_no)
---select  a.imei_no from ODS_ESN_CUST_ADD a,ms_06031_tmp b where
---substr(a.imei_no,1,10) = b.imei_no  fetch  first   10  row only;

set stmt='insert into ms_06031_10count (imei_no)                          
select  a.imei_no from ODS_ESN_CUST_ADD a,ms_06031_tmp b where  
substr(a.imei_no,1,10) = b.imei_no  fetch  first   10  row only';
prepare s1 from stmt;
execute s1;

UNTIL imeino_count>;imeino_counts
END REPEAT fetch_loop;
CLOSE imei_cursor;
set   st=imeino_count;
END@

报错:语句来处理,因为它不是有效的“命令行处理器”命令。在 SQL 处理期间,它返回:
SQL0270N  函数不受支持(原因代码 = "51")。  LINE NUMBER=41.  SQLSTATE=42997

DB2 的错误解释:51 从目录数据库分区发出带有 LANGUAGE SQL 的 CREATE PROCEDURE。

不知道为何会出错,急啊      
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP