Oracle触发器实现

时间:2015-03-18 14:25:57

标签: database oracle triggers build-triggers

我必须实现一个触发器:

  

7)显示DDL,了解如何使用触发器将所有租借副本从正在从商店信息表中删除的商店转移到中央商店   
8)展示如何扩展此触发器   确保中心商店永远不会从数据库中删除

到目前为止,我已经这样做了:

  

创建或更换TRIGGER商店
在商店之前删除商品   每行开始如果删除cvr = 123456789那么

  Raise_Application_Error(
num => -20050,
msg =>'你可以   不删除主商店。');
结束IF;
如果删除那么   UPDATE store_id = 123456789 ON电影WHERE isActive = 0
END   IF;
结束;

所以主存储是用cvr写的,但它给了我一个编译错误。有帮助吗?提前谢谢。

1 个答案:

答案 0 :(得分:0)

您的代码中有两个错误。

  1. 没有“DELETING WHERE”表达式,你必须使用两个布尔异常,如下所示:

    IF DELETING AND:old.cvr = 123456789那么......

  2. :old.cvr是指已删除记录中的cvr列的值

    1. UPDATE子句的语法是

      UPDATE table_name     SET column_name1 = value1,         column_name1 = value2   在哪里where_clause;

    2. 在你的情况下可能会有这样的想法:

      UPDATE movies 
          set store_id = 123456789
        WHERE store_id = :old.cvr
      

      我想,我不知道所需的功能