oracle 11G禁用约束,『ORACLE』 内置约束(11g)

5268f80b9b1e01f982625ef6fac83ca1.png

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)

标签:rac   sda   ble   dex   ted   oracle   purge   主键   default

1428d0e076c3959ab11d28a39bc84fab.png

5268f80b9b1e01f982625ef6fac83ca1.png

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:http://www.cnblogs.com/KT-melvin/p/6880277.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值