![](/img/trans.png)
[英]Insert data from column to another different table column with modifying in PSQL
[英]PSQL - how to insert data to the altered table?
我有一个EMPLOYEE
与外键表Dno
引用Dnumber
在DEPARTMENT
表。 在DEPARTMENT
表中,也有外键Mgr_ssn
,它引用EMPLOYEE
表中的Ssn
。
我使用创建表
ALTER TABLE employee
ADD foreign key (dno) references department(dnumber)
on delete restrict on update cascade;
(Dno和Mgr_ssn都不为空)
但是现在我很困惑如何插入数据,因为它总是违反参照完整性约束,有什么建议吗?
谢谢 :)
通常不给外键“非空”约束。 如果有新员工尚未分配部门,您将怎么办。 或没有经理的新部门。
不过,对于您的问题,您应该使用Oracle Constraints的“ DEFERRABLE ”属性。 这意味着,将仅在提交点检查任何约束。 因此,您可以先插入dno和empnos,然后再提交。 此时,由于存在FK,因此不会出现约束约束。
ALTER TABLE employee ADD foreign key (dno) references department(dnumber) INITIALLY DEFERRED DEFERRABLE;
-对部门同样
然后,将其Insert into emp (...) insert into dept(...) commit;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.