如何解决在db2中插入之前如何创建触发器
我下面有三个表:
我需要创建一个触发器,以禁止学生在未完成前提条件的情况下上课(必须使用触发器)。尝试插入没有适当先决条件的类时,触发器必须返回错误消息“ Missing Pre-req”。
到目前为止,我在下面编写了一条命令:
create trigger checkPrereq
before insert on HW3.SCHEDULE
referencing new as newRow
for each row
When
(
select GRADE
from HW3.SCHEDULE
where HW3.SCHEDULE.ClassId =
(
select PrereqId from HW3.CLASS_PREREQ
where newRow.ClassId = HW3.CLASS_PREREQ.ClassId
)
) in ('F',null)
begin atomic
set newRow.Semester = null;
signal sqlstate 'KILLED' set message_text = ('Missing Pre-req');
end
但我收到警告:
DB21034E该命令已作为SQL语句处理,因为它已 不是有效的命令行处理器命令。在SQL处理期间 返回:SQL0104N在以下位置发现意外的标记“ GRADE” “每行何时”(选择)。预期的标记可能包括:“)”。线 NUMBER = 1。 SQLSTATE = 42601
我不明白这里发生了什么。您能帮忙解决这个问题吗?任何帮助表示赞赏!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。