-3

我必须实现一个触发器,它将:

7) 展示如何使用触发器将所有出租副本从商店信息表中删除的商店传输到中央商店的 DDL
8) 展示如何扩展此触发器以确保永远不会删除中央商店从数据库

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

CREATE OR REPLACE TRIGGER stores
BEFORE DELETE ON stores
FOR EACH
BEGIN
IF DELETING WHERE cvr = 123456789 THEN

Raise_Application_Error (
num => -20050,
msg => 'You can not delete Main Store.');
万一;
IF DELETING THEN
UPDATE store_id=123456789 ON 电影 WHERE isActive = 0
END IF;
结尾;

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

4

1 回答 1

0

您的代码中有两个错误。

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

    如果删除并且:old.cvr = 123456789 那么...

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

  1. UPDATE 子句的语法是

    UPDATE table_name SET column_name1 = value1, column_name1 = value2 WHERE where_clause;

在您的情况下,可能有人这样认为:

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

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

于 2015-03-18T15:29:34.477 回答