RSS
热门关键字:  下载  cms  模版  开源  dedecms
当前位置 :| 主页 > 站长学院 > 数据库 > Oracle >

终于知道什么叫做constraint了。

来源:Blog.ChinaUnix.net 作者:未知 时间:2006-09-14 Tag: 点击:
终于知道什么是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;

搞定。



最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册
栏目列表