首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 ><引用integrity>如何删除元组并将其设置为null,使用ON delete CASCADE

问<引用integrity>如何删除元组并将其设置为null,使用ON delete CASCADE
EN

Stack Overflow用户
提问于 2012-10-19 07:36:43
回答 1查看 274关注 0票数 2

我刚开始使用SQL developer。

这是我的类的hw,我已经创建了员工-经理关系表。

对于情况a,如果经理丢掉了工作,那么经理字段应该设置为空。

对于情况b,如果经理丢了工作,那么他的雇员也会丢掉工作。

我的桌子看起来像这样

代码语言:javascript
复制
lastName | jobTitle | Department | employeeID | fk_employeeID | fk_employeeID1

我不确定为什么我会有两个employeeIDs。

下面是我的DDL代码:

代码语言:javascript
复制
CREATE TABLE Employee
(
    lastName varchar (255),
    jobTitle varchar (255),
    Department varchar (255),
    id_Employee integer,
    fk_Employeeid_Employee integer NOT NULL,
    fk_Employeeid_Employee1 integer,
    PRIMARY KEY(id_Employee),
    UNIQUE(fk_Employeeid_Employee),
    FOREIGN KEY(fk_Employeeid_Employee) REFERENCES Employee (id_Employee),
    FOREIGN KEY(fk_Employeeid_Employee1) REFERENCES Employee (id_Employee)
)

我想我必须为a和b使用"on delete cascade“,如果你知道怎么做,请帮助我。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-01-26 12:02:45

你的家庭作业可能有点晚了,但以防其他人也来。

代码语言:javascript
复制
CREATE TABLE Employee
(
    lastName varchar (255),
    jobTitle varchar (255),
    Department varchar (255),
    id_Employee integer,
    fk_Employeeid_Employee integer NOT NULL,
    fk_Employeeid_Employee1 integer,
    PRIMARY KEY(id_Employee),
    UNIQUE(fk_Employeeid_Employee),
    FOREIGN KEY(fk_Employeeid_Employee) REFERENCES Employee (id_Employee)
    ON UDPATE CASCADE ON DELETE SET NULL,
    FOREIGN KEY(fk_Employeeid_Employee1) REFERENCES Employee (id_Employee)
    ON UDPATE CASCADE ON DELETE SET NULL
)

我不确定为什么你有多个fk_employeeIDs...我假设这是员工经理的id。如果是这样的话,上面的代码应该可以执行您想要的操作。如果删除该管理器,则fk_employeeID字段将设置为空。此外,对管理器id的任何更改都将反映在外键字段中。

希望这能有所帮助,

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12965339

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档