您好,欢迎来到[编程问答]网站首页   源码下载   电子书籍   软件下载   专题
当前位置:首页 >> 编程问答 >> Java >> DB2存储过程入门级问题

DB2存储过程入门级问题

来源:网络整理     时间:2016/7/30 2:27:06     关键词:

关于网友提出的“ DB2存储过程入门级问题”问题疑问,本网通过在网上对“ DB2存储过程入门级问题”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:

问题: DB2存储过程入门级问题
描述:

如何在DB2存储过程中引用定义的变量。
看下面的代码


DROP PROCEDURE FRP.CHECKTABLE
CREATE PROCEDURE CHECKTABLE ()
LL: BEGIN
   DECLARE V_AT_END , FIELDCOUNT INTEGER DEFAULT 0;--统计每个字段为NULL的记录数
   DECLARE ALLCOUNT INTEGER DEFAULT 0;--查询该表的总记录数
   DECLARE TABLENAME VARCHAR(50);--表名
   DECLARE FIELDNAME VARCHAR(50);--字段
   DECLARE FLAG VARCHAR(1);--标志位
   
  
   DECLARE C1 CURSOR
     FOR SELECT TABLENAME,FIELDNAME,FLAG FROM LOGTABLE;--LOGTABLE保存着所有表及其字段
   DECLARE CONTINUE HANDLER FOR NOT FOUND SET V_AT_END = 1;
   OPEN C1;
   FETCH_LOOP: LOOP
   FETCH C1 INTO TABLENAME,FIELDNAME,FLAG;
     IF V_AT_END <> 0 THEN   
       LEAVE FETCH_LOOP;
      END IF;
     IF FLAG <>'0' THEN--1:允许  0:禁止
    -- SET ALLCOUNT = (SELECT COUNT(1) FROM TABLENAME);--查询总记录数
   --  SET FIELDCOUNT = (SELECT COUNT(1) FROM TABLENAME WHERE FIELD IS NULL);--查询一字段中为空的记录数
   SELECT COUNT(1) INTO ALLCOUNT FROM TABLENAME;
   SELECT COUNT(1) INTO FILECOUNT FROM TABLENAME WHERE FIELDNAME IS NULL;
     INSERT INTO LOGRESULT VALUES(CURRENT DATE,TABLENAME, FIELDNAME, ALLCOUNT,FIELDCOUNT); --插入日志表中
 END IF;
   END LOOP ;--FETCH_LOOP;
  
   
 END LL

在后面我想引用TABLENAME,FIELDNAME,直接这样写的话,执行的时候它把这当作表名了,我想要的是这个变量的值。
解决方案1:

上大学学过一点点。都忘记了!小顶一下


以上介绍了“ DB2存储过程入门级问题”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/3017094.html

相关图片

相关文章