DB2触发器中怎么执行动态SQL,并且得到影响行的返回值?

qq_343194731 2015-08-24 02:29:11
SET v_sql =  'UPDATE M_MONEY_TOTAL_BANKIN SET MONEY_REAL' ||'= MONEY_REAL + ' || NEW.CASH ||
' WHERE NET_NO = ''0'||'LEFT('||NEW.PLAZAID||',1)'' AND PLAZ_NO=''RIGHT('||NEW.PLAZAID||',2)'' AND MID='||NEW.MID||
' AND VER_NO='||140||' AND DHM='''||NEW.CLEAR_TARGET_DATE;
PREPARE S1 FROM v_sql;
EXECUTE S1;

GET DIAGNOSTICS v_ret = ROW_COUNT;




我这样写,会报错,错误码42601,语法错误。请问应该怎么写才对?


...全文
197 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_343194731 2015-09-07
  • 打赏
  • 举报
回复
UPDATE M_MONEY_TOTAL_BANKIN
      SET MONEY_REAL = (MONEY_REAL + NEW.CASH)
    WHERE     NET_NO = '0' || LEFT (NEW.PLAZAID, 1)
          AND PLAZ_NO = RIGHT (NEW.PLAZAID, 2)
          AND MID = NEW.MID
          AND VER_NO = 140
          AND DHM = NEW.CLEAR_TARGET_DATE;

   --DB2写法 返回影响行
   --execute v_sql;
   --PREPARE S1 FROM v_sql;
   --EXECUTE S1;

   GET DIAGNOSTICS v_ret = ROW_COUNT;
这样写就可以了。
第一章 DB2的概貌 2 1.1 文件系统特点 3 1.2 数据库系统特点 3 1.3 DBMS的工作原理 5 1.3.1 数据库管理系统的功能 5 1.3.2 存储管理程序 6 1.3.3查询处理程序 7 1.3.4 事务管理程序 8 1.3.5 日志 9 1.3.6 数据字典 10 1.3.7 事务 10 1.4 关系数据库的特点和产品 12 1.4.1 UDB 关系数据库的特点 12 1.4.2 UDB关系数据库的产品 13 1.5 关系数据库的操作语言SQL的概述 15 1.5.1 SQL简介 15 1.5.2 SQL的优点 16 1.5.3 SQL的分类 18 1.6 数据库的建立 18 1.6.1 创建数据库 18 1.6.2 删除数据库 21 第二章 关系数据库的安全角色 21 2.1 数据库系统角色的划分 22 2.2 数据库的开发步骤 23 2.3 SYSADM的任务 25 2.4 DBADM的任务 25 2. 5 程序员的任务 26 2.6 操作员的任务 26 第三章 UDB的概念 26 3.1 建立表和其概念 27 3.1.1表(Table) 27 3.1.2 数据类型 30 3.1.3 建立主外关键字的依赖表 32 3.2 视图 36 3.2.1 视图的概念 36 3.3 建立索引和其概念 41 3.3.1 索引 41 3.3.2 索引的分类 43 3.4 建立模式 44 3.5 建立别名 44 3.6 触发器 46 3.6.1 概念 46 3.6.2 触发器的组成 47 3.7 存储过程 48 3.7.1 存储过程应用的总体结构 48 3.7.2 存储过程应用的特点 49 3.7.3 激发存储过程 50 3.7.4 存储过程的 50 第四章 SQL语句 51 4.1 基本的SELECT语句 51 4.1.1 SELECT 的单表查询 52 4.2 SELECT 的COUNT()查询 55 4.3 SELECT的多表查询 56 4.4 子查询 57 4.5 插入语句INSERT 58 4.6 删除语句DELETE 60 4.7 修改语句UPDATE 61 4.8 SQL数据的安全与授权的语句 62 第五章 远程数据库 64 第五章 远程数据库 64 5.1 DB2 数据库支持的协议 65 5.2 DB2目录 65 5.2.1系统数据库目录 65 5.2.2 本地数据库目录 65 5.2.3 节点目录 66 5.2..4查看DB2的目录 66 5.3 配置远程数据库的步骤 67 5.3.1 设置服务器环境变量 67 SET DB2COMM=NetBIOS,APPC 67 5.3.2 更新DBM配置参数 67 5.4 不同协议的配置 68 5.4.1 TCP/IP 68 5.4.2 NetBIOS 68 5.4.3 APPC 69 客户端节点编目: 69 CATALOG APPC NODE ainst00 REMOTE db2cpi00 SECURITY SAME 70 客户端数据库系统编目: 70 CATALOG DB emplyee AS myemp AT NODE ainst00 70 5.5 IPX/SPX 70 注:节点的编目和数据库的编目请看数据库系统管理 70

5,889

社区成员

发帖
与我相关
我的任务
社区描述
IBM DB2 是美国IBM公司开发的一套关系型数据库管理系统,它主要的运行环境为UNIX(包括IBM自家的AIX)、Linux、IBM i(旧称OS/400)、z/OS,以及Windows服务器版本
社区管理员
  • DB2
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧