本篇内容介绍了“怎么解决oracle在修改主键时出现ORA-00955的问题”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!ORACLE在修改
本篇内容介绍了“怎么解决oracle在修改主键时出现ORA-00955的问题”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
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
);
“怎么解决ORACLE在修改主键时出现ORA-00955的问题”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!
--结束END--
本文标题: 怎么解决ORACLE在修改主键时出现ORA-00955的问题
本文链接: https://lsjlt.com/news/243005.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0