- 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博客 ” ,链接:http://blog.itpub.net/28878983/viewspace-2133887/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/28878983/viewspace-2133887/