-
ORACLE在修改主键时出现ORA-00955的解决方法
-
-
ORA-00955:名称已由现有对象使用
-
-
Oracle创建复合主键
-
-
以药库的drug_stock表为例,需要在主键中增加一个字段:PUTINSTORAGE_DATE
-
原来的主键名:PK_DRUG_STOCK,键值为:DRUG_CODE, DRUG_SPEC, FIRM_ID, PACKAGE_SPEC, BATCH_NO, STORAGE
-
修改后的主键名:PK_DRUG_STOCK,键值为:DRUG_CODE, DRUG_SPEC, FIRM_ID, PACKAGE_SPEC, BATCH_NO, STORAGE, PUTINSTORAGE_DATE
-
-
--删除主键
-
-
ALTER TABLE PHARMACY.DRUG_STOCK DROP PK_DRUG_STOCK;
-
-
--删除主键索引
-
-
drop index PHARMACY.DRUG_STOCK_I_2;
-
drop index PHARMACY.DRUG_STOCK_I_3;
-
-
--增加复合主键
-
-- Create/Recreate primary, unique and foreign key constraints
-
alter table PHARMACY.DRUG_STOCK
-
add constraint PK_DRUG_STOCK primary key (DRUG_CODE, DRUG_SPEC, FIRM_ID, PACKAGE_SPEC, BATCH_NO, STORAGE, PUTINSTORAGE_DATE)
-
using index
-
tablespace TSP_PHARMACY
-
pctfree 10
-
initrans 2
-
maxtrans 255
-
storage
-
(
-
initial 2M
-
next 1M
-
minextents 1
-
maxextents unlimited
-
);
-
-
--创建索引
-
-- Create/Recreate indexes
-
create index PHARMACY.DRUG_STOCK_I_2 on PHARMACY.DRUG_STOCK (DRUG_CODE, DRUG_SPEC)
-
tablespace TSP_PHARMACY
-
pctfree 10
-
initrans 2
-
maxtrans 255
-
storage
-
(
-
initial 640K
-
next 1M
-
minextents 1
-
maxextents unlimited
-
);
-
create index PHARMACY.DRUG_STOCK_I_3 on PHARMACY.DRUG_STOCK (STORAGE)
-
tablespace TSP_PHARMACY
-
pctfree 10
-
initrans 2
-
maxtrans 255
-
storage
-
(
-
initial 64K
-
next 1M
-
minextents 1
-
maxextents unlimited
-
);
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/28878983/viewspace-2133887/
,如需转载,请注明出处,否则将追究法律责任。