创建表 dept (dept_id NUMBER PRIMARY KEY, dept_name VARCHAR2(50));
创建表emp(emp_id NUMBER主键,emp_name VARCHAR2(50),dept_id NUMBER, 约束 emp_fk 外键 (dept_id) 参考部门 (dept_id) );
创建序列 myseq1 NOCACHE; 现在检查一下这个陈述:
将所有内容插入 emp (emp_id, emp_name) VALUES (myseq1.nextVal, 'name1') -- name1 插入 INTO 部门(部门 ID,部门名称) VALUES (10, 'dept1') -- dept1 插入 INTO emp(emp_id、emp_name、dept_id) VALUES (myseq1.nextVal, 'name2', 10) -- name2 插入
从双选择*;
问题:在上面运行时,给我错误消息并违反了唯一约束,有人可以解释一下在哪里以及如何违反了唯一键吗?
提前致谢!
我尝试阅读Oracle支持文档,尝试在Oracle SQl Developer中运行查询。 现在我不明白该错误背后的原因。
sequence.NEXTVAL 仅计算一次。 要么更改为多 INSERT,要么将sequence.NEXTVAL 包装在函数中。