ORACLE在修改主键时出现ORA-00955的解决方法


  1. ORACLE在修改主键时出现ORA-00955的解决方法

  2. ORA-00955:名称已由现有对象使用

  3. Oracle创建复合主键

  4. 以药库的drug_stock表为例,需要在主键中增加一个字段:PUTINSTORAGE_DATE
  5. 原来的主键名:PK_DRUG_STOCK,键值为:DRUG_CODE, DRUG_SPEC, FIRM_ID, PACKAGE_SPEC, BATCH_NO, STORAGE
  6. 修改后的主键名:PK_DRUG_STOCK,键值为:DRUG_CODE, DRUG_SPEC, FIRM_ID, PACKAGE_SPEC, BATCH_NO, STORAGE, PUTINSTORAGE_DATE

  7. --删除主键

  8. ALTER TABLE PHARMACY.DRUG_STOCK DROP PK_DRUG_STOCK;

  9. --删除主键索引

  10. drop index PHARMACY.DRUG_STOCK_I_2;
  11. drop index PHARMACY.DRUG_STOCK_I_3;

  12. --增加复合主键
  13. -- Create/Recreate primary, unique and foreign key constraints
  14. alter table PHARMACY.DRUG_STOCK
  15.   add constraint PK_DRUG_STOCK primary key (DRUG_CODE, DRUG_SPEC, FIRM_ID, PACKAGE_SPEC, BATCH_NO, STORAGE, PUTINSTORAGE_DATE)
  16.   using index
  17.   tablespace TSP_PHARMACY
  18.   pctfree 10
  19.   initrans 2
  20.   maxtrans 255
  21.   storage
  22.   (
  23.     initial 2M
  24.     next 1M
  25.     minextents 1
  26.     maxextents unlimited
  27.   );
  28.   
  29.  --创建索引
  30.  -- Create/Recreate indexes
  31. create index PHARMACY.DRUG_STOCK_I_2 on PHARMACY.DRUG_STOCK (DRUG_CODE, DRUG_SPEC)
  32.   tablespace TSP_PHARMACY
  33.   pctfree 10
  34.   initrans 2
  35.   maxtrans 255
  36.   storage
  37.   (
  38.     initial 640K
  39.     next 1M
  40.     minextents 1
  41.     maxextents unlimited
  42.   );
  43. create index PHARMACY.DRUG_STOCK_I_3 on PHARMACY.DRUG_STOCK (STORAGE)
  44.   tablespace TSP_PHARMACY
  45.   pctfree 10
  46.   initrans 2
  47.   maxtrans 255
  48.   storage
  49.   (
  50.     initial 64K
  51.     next 1M
  52.     minextents 1
  53.     maxextents unlimited
  54.   );

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/28878983/viewspace-2133887/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/28878983/viewspace-2133887/

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值