oracle主键添加语句通常紧跟在建表语句之后,也可以直接嵌在列声明里创建,oracle创建主键时会自动在该列上创建索引。
1、创建主键
方法一、使用add constraint 方法添加主键约束
alter table 表名 add constraint 主键名 primary key (列名1,列名2,...)
方法二、使用索引创建主键
当省略using index后面的index_name时,创建主键的同时创建同名索引;当使用已有索引index_name创建主键时,注意索引列和主键列应该相同才能创建成功。
alter table 表名 add constraint 主键名 primary key (列名1,列名2,...) using index [index_name];
方法三、直接添加主键
同样,创建主键的同时创建同名索引。
alter table 表名 add primary key (列名1,列名2,...) ;
方法四、参数列内添加主键
create table table_A
(
siteid VARCHAR2(8) not null,
soid VARCHAR2(600) not null,
item VARCHAR2(20) not null,
qty NUMBER(22,4)
constraint PK_table_A primary key (siteid , soid )
);
2、删除主键
删除主键时,同名索引也会被删掉,如下:
alter table 表名 drop primary key ;
只删除主键,保留索引,如下:
alter table 表名 drop primary key keep index;