oracle 主键和外键的一比较细…
来源:互联网 发布:网络报警怎么报 编辑:程序博客网 时间:2024/06/05 23:30
文档地址:http://docs.oracle.com/cd/B19306_01/server.102/b14200/clauses002.htm#SQLRF01111
Foreign KeyConstraint Example dept_20
table anddefines and enables a foreign key on thedepartment_id
column that references the primary key on thedepartment_id
column of thedepartments
table:
CREATE TABLE dept_20 (employee_id NUMBER(4), last_name VARCHAR2(10), job_id VARCHAR2(9), manager_id NUMBER(4), hire_date DATE, salary NUMBER(7,2), commission_pct NUMBER(7,2), department_id CONSTRAINT fk_deptno REFERENCES departments(department_id) );
The constraint fk_deptno
ensures that alldepartments given for employees in thedept_20
tableare present in thedepartments
table.
However, employees can have null department numbers,meaning they are not assigned to any department.
---1、从文档此句话可以看出。当在子表(即存有外键值的表)可以存储外键列为空值,即insert和update语句可以往这些外键列里更新为空值。但如果DML要更新为具体的值,那么这些值必须和主表(父表)的值一致才能更新成功,否则会报错。
2、上述意思:如果在子表中的雇员拥有保存空的部门ID号,那么意味着他们都还没被分配部门。如果需要在子表里插入数据的同时,需要分配具体部门,那么需要将此字段增加NOTNULL约束。见下。
NOT
NULL
constraint on thedepartment_id
column in thedept_20
table in addition to theREFERENCES
constraint.
Before you define and enable this constraint, you must defineand enable a constraint that designates thedepartment_id
column of thedepartments
table as a primary or unique key.
- oracle 主键和外键的一比较细…
- oracle主键和外键
- 业务主键和代理主键的比较
- Oracle查询表的索引,主键,外键和约束条件
- Oracle主键外键 约束的 创建,添加和删除
- Oracle主键外键 约束的 创建,添加和删除
- oracle 主键/外键的操作
- UNIQUE约束和主键的比较
- MySQL 创建主键,外键和复合主键的语句
- MySQL 创建主键,外键和复合主键的语句
- MySQL 创建主键,外键和复合主键的语句
- Oracle 查看一个表对应的主键和外键的约束关系,查看的语句:
- Oracle主键约束和主键索引的重命名
- Oracle主键约束和主键索引的重命名
- 数据库中主键和外键的设计原则/数据库事务的四种特性oracle
- Oracle 查看一个表对应的主键和外键的约束关系
- ORACLE DATE和TIMESTAMP数据类型的比较(一)
- ORACLE DATE和TIMESTAMP数据类型的比较(一)
- CSharp - Comparison between IComparer and IComparable
- ORA-03137: TTC protocol internal error : [12333]错误一例
- Oracle 闪回特性(Flashback Version、Flashback Transaction)
- GRANT使用
- 关于NOT IN运算符的一些特殊之处
- oracle 主键和外键的一比较细…
- hashCode()的作用
- Jquery7_事件的应用
- 网易邮箱前端JavaScript编码规范
- cocos2d-x读取xx.plist文件1
- Memcached 学习笔记(二)——ruby调用
- 终于毕业了,即将踏上工作之旅
- 一个简单的C#编写的小机器人对话程序
- 解决Dialog对话框在输入法弹出时被遮挡的问题