怎么知道主鍵約束的名字有沒有重復,或者有什么好的主鍵約束命名方法?
發(fā)現(xiàn)不同表的主鍵約束名稱是不能相同的,那我們以后寫主鍵名的時候怎么知道以前有沒寫過這個主鍵,或者有什么好的命名方法?
代碼如下:
SQL> select * from dba_constraints where constraint_name='PK_ID1_ID2';
OWNER? ? ? ? ? ? ?CONSTRAINT_NAME? ? ? ? ? ? ? ? CONSTRAINT_TYPE? ? ? ? ? TABLE_NAME?
-------------------------------------------------------------------------------- ------------------------------ ---------------?
SYS? ? ? ? ? ? ? ?PK_ID1_ID2? ? ? ? ? ? ? ? ? ?? ? ? ? ? ?? ? ? ? ? ?? ? ? ? ? ? ?P? ? ? ? ? ? ? ? ? ? ? ?TB26_5??
//這是 tb26_5表里的主鍵約束 :pk_id1_id2
SQL> alter table tb26_6 add constraint pk_id1_id2 primary key (id1,id2);
alter table tb26_6 add constraint pk_id1_id2 primary key (id1,id2)
ORA-02264: 名稱已被一現(xiàn)有約束條件占用
SQL> alter table tb26_6 add constraint pk_test1_id1_id2 primary key (id1,id2);
Table altered
//tb26就不能直接增加名為pk_id1_id2的主鍵約束,換個名字就行。
2018-11-28
有沒有重復你添加約束使就會知道,有重復是不可以創(chuàng)建約束的,反之。
你可以在約束名把表名也加進去。
e.g.?
PK_TB26_5_ID1_ID2
PK_TB26_6_ID1_ID2