求教:oracle用truncate table 时报错

Amen 2010-03-25 10:52:08
在PLSQL中执行语句
truncate table user
系统报错:
ORA-00604: 递归 SQL 级别 1 出现错误
ORA-00942: 表或视图不存在
ORA-06512: 在 line 15

这个表确实错在还是独立的,与其他表没有关联。。。

请教一下这个怎么解决????????????
...全文
1083 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
智慧磨坊 2010-04-15
  • 打赏
  • 举报
回复
USER 是个关键字(返回当前用户名的函数),是不能用来做表名的
yuxinglian 2010-04-13
  • 打赏
  • 举报
回复
查一查那个是不是表名, 还是同义词的名字
liuyi8903 2010-04-13
  • 打赏
  • 举报
回复
有可能是基表有损坏,为什么不trace一下呢? 使用errorstack多清晰啊。
noblame 2010-04-12
  • 打赏
  • 举报
回复
很奇怪。。。。
  • 打赏
  • 举报
回复
你确信没有对dual 修改过吧 修改dual也会导致以上错误
fingerfox 2010-04-08
  • 打赏
  • 举报
回复
奇怪,等答案
行舟 2010-03-29
  • 打赏
  • 举报
回复
我说下那个案例的地方吧!
书名:Oracle数据库性能优化
第6章6.2 使用SQL_TRACE/10046时间进行数据库诊断
-------------------------------------
如果LZ不想自己动手,可以将takof之后的SQLTRACE文件发给我,我可以帮忙免费解决~
私人邮箱jiangweihong316@163.com
行舟 2010-03-29
  • 打赏
  • 举报
回复
我记得在Oralce性能优化上面有一条案例是drop table 失败~
貌似是通过SQL_Trace 来定位问题的。当时在执行SQL时,报错为:ORA-00604
friendjin 2010-03-29
  • 打赏
  • 举报
回复
drop表时候,报告不能发现对象,原因如下:
1.该对象确实不存在该用户模式下
2.大小写(建表时使用了双引号)
3.shared pool异常,导致该游标被牺牲(bug)
suiziguo 2010-03-25
  • 打赏
  • 举报
回复
SQL> create table user (id number);
create table user (id number)
*
第 1 行出现错误:
ORA-00903: 表名无效


SQL> create table "user" (id number);

表已创建。

SQL> truncate table user;
truncate table user
*
第 1 行出现错误:
ORA-00903: 表名无效


SQL> truncate table "user";

表被截断。

SQL>


user表怎么创建成功的?
lzf616 2010-03-25
  • 打赏
  • 举报
回复
悲剧,肯定是关键字原因啊,把加上架构名吧...
例如登陆用户是lzf
那就truncate table lzf.user
etsilence 2010-03-25
  • 打赏
  • 举报
回复
看看这个查询 select * from dual;

看看是不是不止返回一条记录X,如果有多条记录,删除dual其他的记录,留一个X就行。
Amen 2010-03-25
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 roylogic 的回复:]
user表是在你登录的用户下面吗?你检查一下。
[/Quote]

create table FRAME_USER
(
USERID INTEGER not null,
USERCODE VARCHAR2(100) not null,
USERNAME VARCHAR2(100) not null,
PASSWORD VARCHAR2(100),
STATE NUMBER(1) default 0,
SEX INTEGER default 0,
COMPANYID NUMBER(38),
DEPARTMENTID NUMBER(38),
USERGROUPID NUMBER(38),
TELEPHONE VARCHAR2(30),
EMAIL VARCHAR2(50),
ADDRESS VARCHAR2(255),
TITLE VARCHAR2(80),
WORKPHONE VARCHAR2(50),
ISTEMP INTEGER default 0,
COUNTNUM NUMBER default 0,
COMPANYNAME VARCHAR2(500),
USERGROUPNAME VARCHAR2(500),
DEPARTMENTNAME VARCHAR2(500),
ISLOGIN NUMBER,
ISADMIN NUMBER,
DUTY VARCHAR2(80),
PWDMODDATE DATE,
EMPLOYEE VARCHAR2(20)
)
tablespace SOX_DATA
pctfree 10
pctused 40
initrans 1
maxtrans 255
storage
(
initial 64K
minextents 1
maxextents unlimited
);
-- Add comments to the columns
comment on column FRAME_USER.USERCODE
is '用户帐号';
comment on column FRAME_USER.USERNAME
is '用户名';
comment on column FRAME_USER.PASSWORD
is '密码';
comment on column FRAME_USER.STATE
is '用户状态 0为已停用、1为已启用';
comment on column FRAME_USER.SEX
is '性别';
comment on column FRAME_USER.COMPANYID
is '公司';
comment on column FRAME_USER.DEPARTMENTID
is '部门';
comment on column FRAME_USER.USERGROUPID
is '科室';
comment on column FRAME_USER.TELEPHONE
is '移动电话';
comment on column FRAME_USER.EMAIL
is '邮箱';
comment on column FRAME_USER.ADDRESS
is '联系地址';
comment on column FRAME_USER.TITLE
is '职务';
comment on column FRAME_USER.WORKPHONE
is '工作电话';
comment on column FRAME_USER.ISTEMP
is '临时用户 1为临时用户,0为固定用户';
comment on column FRAME_USER.DUTY
is '职务描述';
comment on column FRAME_USER.EMPLOYEE
is '工号';
-- Create/Recreate primary, unique and foreign key constraints
alter table FRAME_USER
add constraint PK_FRAME_USER primary key (USERID)
using index
tablespace SOX_DATA
pctfree 10
initrans 2
maxtrans 255
storage
(
initial 64K
minextents 1
maxextents unlimited
);
这个是我的表结构。。。所有的都不能用 truncate table
临摹 2010-03-25
  • 打赏
  • 举报
回复
truncate table "user"

user是关键字,加引号
Raul_Gonzalez 2010-03-25
  • 打赏
  • 举报
回复
不要用关键字建表,贴出表结构、完整代码
roylogic 2010-03-25
  • 打赏
  • 举报
回复
user表是在你登录的用户下面吗?你检查一下。
Amen 2010-03-25
  • 打赏
  • 举报
回复
表名输入正确,没有引号,,,在同一个用户下。
vber1010 2010-03-25
  • 打赏
  • 举报
回复
是在同一个用户下吗?
qin_phoenix 2010-03-25
  • 打赏
  • 举报
回复
表不存在?或者表名有引号?
liuyi8903 2010-03-25
  • 打赏
  • 举报
回复
用errorstack trace一下604 error。

其它ddl dcl dml都能使用吗

3,497

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 高级技术相关讨论专区
社区管理员
  • 高级技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧