『ORACLE』 內建約束(11g)

來源:互聯網
上載者:User

標籤:rac   sda   ble   dex   ted   oracle   purge   主鍵   default   

not null約束只能在列級定義;可以指定not null約束的名稱,如不指定則自動產生名稱

SQL> create table t1 (x number not null, y number constraint nn_t111_y not null);

Table created.

SQL> select constraint_name,constraint_type,search_condition from user_constraints where table_name = upper(‘t1‘);

CONSTRAINT_NAME              C  SEARCH_CONDITIO
------------------------------ -- ---------------------
SYS_C0011402                    C "X" IS NOT NULL
NN_T111_Y                          C "Y" IS NOT NULL

SQL> create table student1 (sno number(5) not null, sname varchar2(20) not null constraint uk_student_sname1 unique,idcard varchar2(18),createtime
date default sysdate not null,constraint uk_student_idcard1 unique(idcard));

Table created.

SQL> create table student2 (sno number(5) not null, sname varchar2(20) not null unique,idcard varchar2(18),createtime date default sysdate not null,

constraint uk_student_idcard2 unique(idcard));

Table created.

SQL> select table_name,column_name,constraint_name from user_cons_columns where table_name like upper(‘student_‘);

TABLE_NAME COLUMN_NAME CONSTRAINT_NAME
--------------- --------------- ---------------
STUDENT1 SNO SYS_C0011404
STUDENT1 SNAME SYS_C0011405
STUDENT1 CREATETIME SYS_C0011406
STUDENT1 SNAME UK_STUDENT_SNAM
E1

STUDENT1 IDCARD UK_STUDENT_IDCA
RD1

STUDENT2 SNO SYS_C0011409
STUDENT2 SNAME SYS_C0011410
STUDENT2 CREATETIME SYS_C0011411
STUDENT2 SNAME SYS_C0011412
STUDENT2 IDCARD UK_STUDENT_IDCARD2

主鍵約束

1、行級定義主鍵,系統分配主鍵名稱

create table t_pk1
(sno number(5) primary key,
sname varchar2(20),
idcard varchar2(18),
createtime date
);

2、表級定義主鍵,自訂主鍵名曾

create table t_pk2
(sno number(5),
sname varchar2(20),
idcard varchar2(18),
createtime date,
constraint pk_t_pk2_sno primary key(sno)
);

 

3、表級定義主鍵,系統分配主鍵名稱

create table t_pk3
(sno number(5),
sname varchar2(20),
idcard varchar2(18),
createtime date,
primary key(sno)
);

4、行級定義主鍵,自訂主鍵名稱,並且指定索引使用的資料表空間
create table t_pk4
(sno number(5) constraint pk_t_pk4_sno primary key using index tablespace example,
sname varchar2(20),
idcard varchar2(18),
createtime date
);
5、表級定義主鍵,自訂主鍵名稱,並且指定索引使用的資料表空間
create table t_pk5
(sno number(5),
sname varchar2(20),
idcard varchar2(18),
createtime date,
constraint pk_t_pk5_sno primary key(sno) using index tablespace example
);

SQL> select table_name,column_name,constraint_name from user_cons_columns
2 where table_name like upper(‘t_pk_‘);

查看主鍵情況

TABLE_NAME COLUMN_NAME CONSTRAINT_NAME
--------------- --------------- ---------------
T_PK1 SNO SYS_C0011414
T_PK2 SNO PK_T_PK2_SNO
T_PK3 SNO SYS_C0011416
T_PK4 SNO PK_T_PK4_SNO
T_PK5 SNO PK_T_PK5_SNO

查看主鍵自動建立索引情況

SQL> select index_name,uniqueness,tablespace_name
2 from user_indexes
3 where table_name like upper(‘t_pk_‘);

INDEX_NAME UNIQUENES TABLESPACE_NAME
------------------------------ --------- ------------------------------
SYS_C0011414 UNIQUE USERS
PK_T_PK2_SNO UNIQUE USERS
SYS_C0011416 UNIQUE USERS
PK_T_PK5_SNO UNIQUE EXAMPLE
PK_T_PK4_SNO UNIQUE EXAMPLE

清理環境

drop table t_pk1 purge;
drop table t_pk2 purge;
drop table t_pk3 purge;
drop table t_pk4 purge;
drop table t_pk5 purge;

命令列增加主鍵,自訂主鍵名稱

table t_pk6
(sno number(5),
sname varchar2(20),
idcard varchar2(18),
createtime date
);
alter table t_pk6 add constraint pk_t_pk6_sno primary key(sno);

命令列增加主鍵,自訂主鍵名稱,並且指定自動建立的索引資料表空間

create table t_pk7
(sno number(5),
sname varchar2(20),
idcard varchar2(18),
createtime date
);
alter table t_pk7 add constratint pk_t_pk7_sno primary key(sno) using index tablespace example;

 

『ORACLE』 內建約束(11g)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.