需要sql项目援助

时间:2016-12-29 15:27:00

标签: sql oracle plsql

我尝试生成一个触发器,如果​​表中的列填入了特定的设置值,例如我有一个名为' Volunteertype'只能分配给员工'如果学生被输入触发器必须取消与志愿者表格中的员工详细信息相关的所有列,例如“工作区域”,“职员管理员”等#d;              以下是我试图利用网站上的资源整理的代码,但我没有运气。

CREATE TRIGGER trg_voltype
ON Volunteer
AFTER INSERT
AS 
IF EXISTS (SELECT NULL FROM inserted i WHERE VolunteerType = 'student')
FOR EACH ROW BEGIN;
UPDATE v
SET Area_of_work       = NULL
SET StaffManagerName   = NULL
SET StaffManagerEmail  = NULL
SET StaffManagerPhone  = NULL
FROM Volunteer v
JOIN inserted i ON v.Volunteer_id = i.Volunteer_id
WHERE v.VolunteerType = 'student';
END;

但是,如果在Oracle环境中运行,则会产生错误ORA-04071:缺少BEFORE,AFTER或INSTEAD OF关键字。当我试图移动后插入'在关键字之前我得到一个无效的触发器'错误

如果代码本身正确/不正确以及我应该如何修改代码,是否有人能够提供帮助和通知我,提前感谢并有一个美好的结束今年谢谢!

1 个答案:

答案 0 :(得分:2)

你的触发器应该是:

onClick