linux下db2查看具体触发器,DB2下创建触发器

CREATE TRIGGER DB2INST1.CHOICEAREA AFTER  INSERT  ON DB2INST1.TBL_SMR FOR EACH ROW  MODE DB2SQL

BEGIN ATOMIC

declare @m char(20);

select @m=role from tbl_sendrole where Mobile_Num in (select DestAddr from inserted);

insert into tbl_smr1(OrgAddr,DestAddr) select OrgAddr,DestAddr from inserted;

update  tbl_smr1 set OrgAddr=@m where DestAddr in (select DestAddr from inserted);

END

在DB2命令下有很多问题,请教大虾帮忙看一下!

DECLARE @m char(20)

DB21034E  该命令被当作 SQL 语句来处理,因为它是无效的“命令行处理器”命令。在

SQL 处理期间,它返回:

SQL0104N  在 "C DECLARE @m char(20" 后面找到异常标记

")"。预期标记可能包括:"END-OF-STATEMENT"。  LINE NUMBER=3.  SQLSTATE=42601

select @m=role from tbl_sendrole where Mobile_Num in (select DestAddr from inserted)

SQL0104N  在 "select @m" 后面找到异常标记 "="。预期标记可能包括:""。

SQLSTATE=42601

insert into tbl_smreceived1(OrgAddr,DestAddr,SM_Content,RecvTime,Reserve1,Reserve2,SMType,MessageID,OrgAddrType,ActionID,ActionReasonID,ServiceID,ProtocolType,Readed,Droped) select OrgAddr,DestAddr,SM_Content,RecvTime,Reserve1,Reserve2,SMType,MessageID,OrgAddrType,ActionID,ActionReasonID,ServiceID,ProtocolType,Readed,Droped from inserted

DB21034E  该命令被当作 SQL 语句来处理,因为它是无效的“命令行处理器”命令。在

SQL 处理期间,它返回:

SQL0204N  "DB2INST1.INSERTED" 是一个未定义的名称。  SQLSTATE=42704

update  tbl_smreceived1 set MessageID=@m where DestAddr in (select DestAddr from inserted)

DB21034E  该命令被当作 SQL 语句来处理,因为它是无效的“命令行处理器”命令。在

SQL 处理期间,它返回:

SQL0206N  "@M" 在使用它的上下文中无效。  SQLSTATE=42703

END@

DB21034E  该命令被当作 SQL 语句来处理,因为它是无效的“命令行处理器”命令。在

SQL 处理期间,它返回:

SQL0104N  在 "END@" 后面找到异常标记

"END-OF-STATEMENT"。预期标记可能包括:"JOIN "。  SQLSTATE=42601

SQL0104N  在 "END@" 后面找到异常标记 "END-OF-STATEMENT"。预期标记可能包括:"JOIN                              "。

说明:

在文本 "" 后面的指定标记处检测到 SQL 语句中或 SYSPROC.ADMIN_CMD

过程的输入命令字符串中的语法错误。"" 字段指示无效标记前面的 SQL

语句中或 SYSPROC.ADMIN_CMD 过程的输入命令字符串的 20 个字符。

作为帮助,在 SQLCA 的 SQLERRM 字段中,提供了有效标记的部分列表作为 "

记列表>"。此列表假设语句到该位置为止是正确的。

不能处理该语句。

用户响应:

在指定的标记区域内检查并更正语句。

sqlcode:  -104

sqlstate:  42601

[本帖最后由 springwhite 于 2008-8-3 09:13 编辑]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值