建立触发器出错,帮忙呀!!!!

linhf 2003-10-24 03:11:34
CREATE TRIGGER LHF.TT AFTER INSERT ON LHF.TEST REFERENCING NEW AS n FOR EACH ROW MODE DB2SQL BEGIN ATOMIC
insert into test1 values(n.first);
END;

如下错误:
SQL0104N 在 "END" 之后发现意外的标记 "END-OF-STATEMENT"。期望的标记可能包括:"JOIN
<joined_table> "。

解释:

在文本 "<文本>" 后面的指定标记处检测到 SQL
语句中的语法错误。"<文本>" 字段指示无效标记前面的 SQL 语句中的 20
个字符。

作为对程序员的帮助,在 SQLCA 的 SQLERRM
字段中,提供了有效标记的部分列表作为
"<标记列表>"。此列表假设语句到该位置为止是正确的。

不能处理该语句。

用户响应:

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

sqlcode : -104

sqlstate : 42601
...全文
42 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
db2boy 2003-10-24
  • 打赏
  • 举报
回复
是不是语句结束符号的问题,试试把end后面的;改成@,然后把这段写成一个脚本,然后用
db2 -td@ 脚本文件名 执行
jiezhi 2003-10-24
  • 打赏
  • 举报
回复
再給個例子(注意語法格式):
CREATE TRIGGER RECORD_HISTORY
AFTER UPDATE OF QUOTE ON CURRENTQUOTE
REFERENCING NEW AS NEWQUOTE
FOR EACH ROW MODE DB2SQL
BEGIN ATOMIC

INSERT INTO QUOTEHISTORY
VALUES (NEWQUOTE.SYMBOL, NEWQUOTE.QUOTE, CURRENT TIMESTAMP);
END
jiezhi 2003-10-24
  • 打赏
  • 举报
回复
CREATE TRIGGER LHF.TT AFTER INSERT ON LHF.TEST REFERENCING NEW AS n FOR EACH ROW MODE DB2SQL BEGIN ATOMIC
insert into test1 values(n.first);
END

5,889

社区成员

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

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