终于知道什么是constraint了,hoho...偶真是太菜了。
可是只是明白一点点而已,觉得有一点东西把握到了。
其实自己还是不明白,自己学就是很茫然阿。
/primary key
/foreign key
/not null
/unique
/check(?)
contents:
前几天,偶打算删掉SCOTT.dept的一个叫做PK_DEPT的index.
却得到如下错误:
ERROR 位于第 1 行:
ORA-02429: cannot drop index used for enforcement of unique/primary key
好,那就就先删了主键
SQL> select OWNER,CONSTRAINT_NAME,TABLE_NAME from user_constraints;
OWNER CONSTRAINT_NAME TABLE_NAME
------------------------------------------------------------ ------------------------------------------------------------ ----
SCOTT PK_DEPT DEPT
SCOTT PK_EMP EMP
SCOTT FK_DEPTNO EMP
SQL> alter table dept drop constraints pk_dept;
又是错误
ERROR 位于第 1 行:
ORA-02273: this unique/primary key is referenced by some foreign keys
Foreign keys?什么咚咚?
原来这个东西是联系Dept表跟Emp表的一个约束条件,它把dept的deptno跟emp的deptno联系起来了。
/*这个是很重要的一个概念,一个功能,可我现在还不能理解*/
好,那就把这个Foreign key干掉,这个Foreign key是在emp表上作的,所以需要改动emp先。
SQL> alter table emp drop constraints fk_deptno;
再删主键
SQL> alter table dept drop constraints pk_dept;
搞定。