oracle 培訓筆記 約束

2021-05-27 18:02:22 字數 1734 閱讀 7684

約束分類:

primary key

not null

foreign key

check

unique

--查詢約束狀態

drop table t01 purge;

create table t01(id number primary key,name varchar2(20));

select * from user_constraints;

status

deferrable

deferred

validated

延遲deferrable:可延遲,檢查方式:immediate,deferred

--約束可延遲,立即檢查

create table t01(id number primary key deferrable

,name varchar2(20));

insert into t01 values(1,'a');

insert into t01 values(1,'b');

--約束可延遲,延遲到提交檢查

create table t02(id number primary key deferrable initially deferred

,name varchar2(20));

insert into t02 values(1,'a');

insert into t02 values(1,'b');

commit;

--檢視表t01,t02,t03主鍵帶索引

create table t03(id number primary key

,name varchar2(20));

select * from user_indexes;

uniqueness

約束狀態

enable disable

validate novalidate

enable validate: 啟用約束,校驗資料(新,舊)

enable novalidate:啟用約束,校驗資料(新)

disable novalidate:停用約束

disable validate:停用約束,

--向有主鍵表中插入重複資料

步驟1:讓主鍵約束對應的索引一定非唯一

辦法1:建主鍵時指定deferrable

create table t01(id number primary key deferrable ,name varchar2(20));

辦法2:加主鍵前先建乙個非唯一索引,然後加主鍵

create table t01(id number,name varchar2(20));

create index t01i on t04(id);

alter table t01 add constraint t04i primary key(id);

步驟2:禁用約束

alter table t01 modify constraint ***x disable;

insert into t01 values(1,'a');

insert into t01 values(1,'b');

commit;

步驟3:啟用約束,但不校驗已存在資料

alter table t01 modify constraint sys_c002990 enable novalidate;

select * from t01;

Oracle 培訓筆記

how to create and manage view?1 create user create user username identified by password 2 set authority grant authorityname to username 3 set authorit...

oracle 培訓筆記 3

在輸入sqlplus assysdba時,自動鏈結上的資料庫不一定是本機的資料庫,而是系統環境變數中oracle sid所指定的變數,安裝oracle後,會預設將windows下的這個環境變數設定成你新建的這個sid archiveloglist可以顯示出當前資料庫的歸檔模式 如果要長期的修改sql...

Oracle學習筆記(八) 約束

約束的作用 定義規則 確保資料完整性 非空約束 在建立表的時候設定 create table table name column name datatype not null,修改表的時候設定 alter table table name modify column name datatype no...