oracle-00955错误
答案:2 悬赏:0 手机版
解决时间 2021-03-24 17:48
- 提问者网友:沉默菋噵
- 2021-03-23 16:51
oracle-00955错误,我用select object_name,object_type from user_objects where object_name = upper( 'customers')查找用到这个名称的对象,结果也是没有找到,建表的时候,00955提示名称或对象已经使用,可是明明没有用这个对象名的东西嘛,怎么办呢?我不想换表名,求高手解答
最佳答案
- 五星知识达人网友:撞了怀
- 2021-03-23 17:05
你最好可以把操作的命令和输出提示给整出来,oracle方面里面很多东西都是太细,不是太容易说明白的,或许你在讲述问题的时候可能漏了点什么东西没有讲清楚,正好可能就是这点小东西产生了问题。
不过现在你这种情况,以前碰到过,就是不知你使用的是什么版本的oracle和SQL版本。曾经试过和SQL*PLUS里面,我的创建表的SQL语句后面,多了一个/ ,然后就报955错误了,因为在SQL*PLUS里面,语句结束使用 ; 就可以了,如果再多一个/ 那就会执行两启遍,那第二遍当然会报名字被占用啦。
不知道你的问题是不是这个呢
不过现在你这种情况,以前碰到过,就是不知你使用的是什么版本的oracle和SQL版本。曾经试过和SQL*PLUS里面,我的创建表的SQL语句后面,多了一个/ ,然后就报955错误了,因为在SQL*PLUS里面,语句结束使用 ; 就可以了,如果再多一个/ 那就会执行两启遍,那第二遍当然会报名字被占用啦。
不知道你的问题是不是这个呢
全部回答
- 1楼网友:患得患失的劫
- 2021-03-23 18:13
ora-00955 应该是对象名被占用。
估计是id是保留字的原因。
create sequence seq_d_user
oracle的id自增方法:
比如表名:tab,主键为:id
1. 增加一个序列号: create sequence seq_tab
2. 增加一个触发器,如果是insert,则取序列号值,赋予主键列
create or replace trigger tri_tab
before insert ontabfor each row
declare
-- local variables here
begin
if :new.id is null then
select seq_tab.nextval into :new.id from dual;
end if;
end tri_tab;
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯
正方形一边上任一点到这个正方形两条对角线的 |
阴历怎么看 ? |