Oracle建表报错:ORA-00955:名称已由现有对象使用

现象描述:在Oracle数据库中已经创建了 staff表,现在因为业务需求,创建与staff表结构相同的测试表 test_staff 。 test_staff表创建语句如下所示:

create table test_staff
(
  STAFF_ID         NUMBER(16)   NOT NULL,      
  PARTY_ID         NUMBER(16)   NOT NULL, 
	STAFF_CODE       VARCHAR2(250),               
	STAFF_ACCOUNT    VARCHAR2(250),          
	ORG_ID           NUMBER(16) 	NOT NULL,
	STAFF_TYPE       VARCHAR2(10), 
	STAFF_NAME       VARCHAR2(250),           
	STAFF_DESC       VARCHAR2(2000),
	STATUS_CD        VARCHAR2(10)	NOT NULL,
	STATUS_DATE      DATE,      
	CREATE_DATE      DATE,             
	CREATE_STAFF     NUMBER(16),               
	UPDATE_DATE      DATE,               
	UPDATE_STAFF     NUMBER(16),           
	SALESSTAFF_CODE  VARCHAR2(30), 
	COMMON_REGION_ID NUMBER(16),
	LAN_ID           NUMBER(16),                   
	STAFF_TEL        VARCHAR2(20),
	constraint PK_STAFF_ID PRIMARY KEY(STAFF_ID)
);

       

     之后,报错:ORA-00955:名称已由现有对象使用 ,如下图所示:  

                                                                              图一      

  通过运行SQL语句: SELECT *  FROM test_staff ,编辑器提示报错:ORA-00942:表或视图不存在,如下图所示:

                                                                               图二

     通过查看Oracle数据库下 staff表设计,可以看到 staff表中有一索引名为:PK_STAFF_ID, 在上文创建 test_staff表的SQL语句中,创建的主键名索引也为 PK_STAFF_ID,错误就出现在这里!staff表设计如下图三所示。 

                                                                                        图三

   将 test_staff表的索引名修改成 PK_TEST_STAFF_ID,再次运行 SQL语句,表创建成功,如下图四所示。

                                                                                   图四

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值