Oracle基礎 11 約束 constraints
--主、外來鍵約束
create table t(
id int primary key);
create table t1(
id int references t(id));
或者
create table t(
id int constraint pk_t_id primary key);
create table t1(
id int constraint fk_t1_id references t(id));
修改列為主、外來鍵約束
create table emp1(
id number(10),
name varchar2(20),
dept number(10)
);
create table dept1(
dept number(10),
dept_name varchar2(20)
);
alter table dept1
add constraint pk_dept1_dept primary key(dept);
alter table emp1
add constraint fk_emp1_dept foreign key(dept) references dept1(dept);
--建立非空約束列
create table t(
id number(10) constraint nn_t_id not null,
name varchar2(20),
company varchar2(20)
);
修改列為非空約束
create table t(
id number(10),
name varchar2(20),
company varchar2(20)
);
alter table t
modify id constraint nn_t_id not null;
--建立唯一約束列
create table t(
id number(10) constraint u_t_i unique,
name varchar2(20),
company varchar2(20)
);
修改列為唯一約束
alter table t
add constraint u_t_id unique(id);
--建立檢查約束
create table aa3(
id number(10) constraint aa3_id_c check(id>=101),
name varchar2(20),
company varchar2(20)
);
修改列為檢查約束
create table t2(
id int);
alter table t2
add constraint c_t2_id check(id>100);
--刪除約束
alter table t2 drop constraint c_t2_id;
注意:對於外來鍵約束的刪除時有順序的,要不然會提示,找到子記錄的資訊。先刪子表的約束,再刪父表的約束。
--檢視約束
在oracle中,可以通過 user_constraints 檢視來查詢。
select table_name,constraint_name,constraint_type
from user_constraints
where table_name='大寫的表名'
注意:oracle中約束是一使用者名稱為指定範圍存放的。也就是說一個使用者名稱下面約束名子不能有重複,但整個資料庫中,可以有相同的約束名。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/27633655/viewspace-1080355/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle constraints type 約束型別OracleAI型別
- 【SQL】15 SQL 約束(Constraints)、NOT NULL 約束、UNIQUE 約束、PRIMARY KEY 約束、FOREIGN KEY 約束、CHECK 約束、DEFAULT約束SQLAINull
- Oracle 11g系列:約束Oracle
- odoo 開發入門教程系列-約束(Constraints)OdooAI
- 外來鍵約束drop table cascade constraintsAI
- Oracle約束Oracle
- oracle 約束Oracle
- 完整性約束的型別(Types of Integrity Constraints)型別AI
- 《MySQL 基礎篇》八:約束和檢視MySql
- Oracle定義約束 外來鍵約束Oracle
- 【學習】SQL基礎-014-約束SQL
- oracle中的約束Oracle
- oracle 約束詳解Oracle
- Oracle約束簡介Oracle
- oracle鍵約束控制Oracle
- oracle 註釋和約束Oracle
- 新增/刪除約束(Oracle)Oracle
- oracle的延遲約束Oracle
- 【MySQL】MySQL基礎(SQL語句、約束、資料型別)MySql資料型別
- 修改oracle的約束欄位Oracle
- C# 泛型 基類約束C#泛型
- oracle約束學習經典案例Oracle
- oracle 約束的novalidate 應用Oracle
- oracle 約束 enable validate 檢查Oracle
- Oracle主鍵約束、唯一鍵約束、唯一索引的區別(轉)Oracle索引
- Javaweb-約束-外來鍵約束JavaWeb
- 暑期自學 Day 11 | 資料庫 (四)- 約束資料庫
- oracle外來鍵約束的總結Oracle
- oracle主外來鍵鎖_lock_約束Oracle
- Oracle約束的學習與測試Oracle
- Oracle 9i 約束條件(轉)Oracle
- 10、Oracle中的約 束constraintOracleAI
- SQL約束SQL
- 03約束
- 綜合約束
- MySQL 約束MySql
- oracle11grac基礎結構Oracle
- (10)邏輯綜合新增約束(環境約束)