1. 程式人生 > >oracle約束+check+暴力刪除表,無視外來鍵+檢視使用者建立的表+檢視約束

oracle約束+check+暴力刪除表,無視外來鍵+檢視使用者建立的表+檢視約束

check
指定一列或一組列必須滿足的條件
條件:
表中每一行都要滿足該約束條件,才會儲存到表中
特點:
1check約束表示式中,必須引用表中一個或者多個列;並且表示式的運算結果是一2個布林值
2一個列中可以定義多個check約束
3同一個列可以同時定義check約束和not null約束
4check既可以第一在列級別中,也可以定義在表級別中

constraint 約束名check(列條件)
列如:下表中age列的資料必須滿足在15到20之間

這裡寫圖片描述

暴力刪除表,無視外來鍵
drop table 表名 cacasde constraint [purge不可恢復]
刪除表的時候將約束也刪除掉

刪除外來鍵約束;
alter table 子表 drop constraint 外來鍵名
這裡寫圖片描述

檢視使用者建立的表:

這裡寫圖片描述

檢視約束
1利用資料字典user_constraints 檢視使用者模式下的表約束資訊;

select owner,constraint_name,constraint_type,table_name from user_constraints;

owner:使用者
constraint_name:約束名
constraint_type:約束型別
table_name:表名
status:約束的狀態,值為enabled或者disabled
deferrable:該約束是否為可延遲,值為deferrable或者undeferrable
deferred:該約束是否立即執行還是延遲執行,值為immediate,deferred
這裡寫圖片描述

2利用資料字典user_cons_columns 檢視使用者模式下的表約束在哪一個列上(常用)
select owner,constraint_name,table_name,column_name from user_cons_columns;

這裡寫圖片描述

owner:使用者
constraint_name:約束名
column_name:列名
table_name:表名