我正在这个问题中在黑暗中拍摄,因为我的数据库知识很少,但RDBMS触发器是否可以用常量AND条件分割,比如说,在同一个触发器中有多个'WHEN'语句?我被要求研究这个话题,坦率地说,甚至不知道从哪里开始。我没有任何“真正的”代码可以发布,只是寻找具有更多数据库经验的用户的一些理论见解。提前感谢您的见解。
示例代码:
CREATE TRIGGER REORDER
AFTER UPDATE OF ON_HAND, MAX_STOCKED ON PARTS
REFERENCING NEW AS N
FOR EACH ROW
WHEN (N.ON_HAND < 0.10 * N.MAX_STOCKED)
BEGIN ATOMIC
WHEN (N.ON_BCK_ORDR < N.CUST_ORDERED)
VALUES(ISSUE_SHIP_REQUEST(N.MAX_STOCKED - N.ON_HAND, N.PARTNO));
END
答案 0 :(得分:0)
不确定你在问什么。我想你需要知道create trigger语法。尝试谷歌为oracle,MSSQL,MySQL,PostgreSQL数据库的“创建触发器”语法。
答案 1 :(得分:0)
在CASE语句中使用时,触发器可以包含多个“WHEN”谓词,如下所示:
CREATE TRIGGER trg
BEFORE UPDATE OF dept_salary
ON employee_wages
BEGIN
CASE
WHEN INSERTING THEN
DBMS_OUTPUT.PUT_LINE('Inserting');
WHEN UPDATING ('salary') THEN
DBMS_OUTPUT.PUT_LINE('UPDATING SALARY');
WHEN DELETING THEN
DBMS_OUTPUT.PUT_LINE('DELETING');
ENDCASE
END