創建主鍵
oracle主鍵添加語句通常緊跟在建表語句之后,也可以直接嵌在列聲明里創建,oracle創建主鍵時會自動在該列上創建索引。常見方法大概有以下5種:
方法一、使用add constraint 方法添加主鍵約束
alter table 表名 add constraint 主鍵名 primary key (列名1,列名2,...)
方法二、使用索引創建主鍵
(和方法一沒有區別,可以將方法一理解為省略了using index)
alter table 表名 add constraint 主鍵名 primary key (列名1,列名2,...)
using index [index_name];
當省略using index后面的index_name時,創建主鍵的同時創建同名索引;當使用已有索引index_name創建主鍵時,注意索引列和主鍵列應該相同才能創建成功。
方法三、直接添加主鍵
alter table 表名 add primary key (列名1,列名2,...) ;
同樣,創建主鍵的同時創建同名索引。
方法四、參數列內添加主鍵
create table ALERT_RESULT_EVENT_C
(
data_date VARCHAR2(8) not null,
object_id VARCHAR2(600) not null,
event_id VARCHAR2(20) not null,
ratio NUMBER(22,4),
pairing_object_id VARCHAR2(128),
index_value_1 VARCHAR2(128),
index_value_2 VARCHAR2(128),
constraint PK_ALERT_RESULT_EVENT_C primary key (DATA_DATE, OBJECT_ID, EVENT_ID)
);
刪除主鍵
alter table 表名 drop primary key ;
采用該語句刪除主鍵時,同名索引也會被刪掉。
alter table 表名 drop primary key keep index;
該語句只刪除主鍵,保留索引。