SQL继续使用ON UPDATE CASCADE获取错误

时间:2016-01-25 20:51:12

标签: sql oracle

各位大家好,所以我正在使用“ON UPDATE CASCADE”功能,但我仍然无法正常工作。

我的第一张桌子:

CREATE TABLE Stab
(
Stab_id int not null,
Sprache VARCHAR2(2000),
Vorname VARCHAR2(2000) not null,
Nachname VARCHAR2(2000) not null,
Geburtsatg date,
Nationalität VARCHAR2(2000),
Geschlecht VARCHAR2(2000) not null,
Kontakt VARCHAR2(2000) not null,
PRIMARY KEY (stab_id)
);

第一张表没有问题

我希望我的第二列第一列“Stab_id”(就像在第一个表中一样)是第一个表的外键。因此,当我从第一个表中更改“Stab_id”列中的值时,第二个表中的“Stab_id”也会改变。

CREATE TABLE Schauspieler
(
    Stab_id INT not null,
    Filmanzahl number(5,5),

    CONSTRAINT fk_Stabschau
    FOREIGN KEY (stab_id)
    REFERENCES stab (stab_id)
    ON DELETE CASCADE
    ON UPDATE CASCADE);

但是我一直在“ON UPDATE CASCADE”

行下遇到错误
  

Fehlerbericht - SQL-Fehler:ORA-00907:缺少右括号   00907. 00000 - “缺少右括号”

     

*原因:
  *操作:

有人可以帮助我。 非常感谢你

2 个答案:

答案 0 :(得分:3)

Oracle没有“ON UPDATE CASCADE”。您可以使用触发器

手动模拟此行为

答案 1 :(得分:0)

Oracle不支持此功能'ON UPDATE CASCADE':https://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:5773459616034

您必须在第一个表键列上编写一个更新触发器,该列在第二个表中执行相同的操作。

丹科