ORA-00903 invalid table name

ORA-00903:无效的表名

Cause A table or cluster name is invalid or does not exist. This message is also issued if an invalid cluster name or no cluster name is specified in an ALTER CLUSTER or DROP CLUSTER statement.

Action Check spelling. A valid table name or cluster name must begin with a letter and may contain only alphanumeric characters and the special characters \$, _, and #. The name must be less than or equal to 30 characters and cannot be a reserved word.

原因:表名或簇名不存在或无效,当运行ALTER CLUSTER 或 DROP CLUSTER语句时,会出现此错误信息。

方案:检查拼写是否正确。一个有效的表名或簇名必须以字母开头,只含有字母或数字,不能超过30个字符,可以包含一些特殊字符\$, _, #。表名或簇名不能是关键字。

案例一: 使用 DBMS_SQL包执行DDL语句

The DBMS_SQL package can be used to execute DDL statements directly from PL/SQL.

这是一个创建一个表的过程的例子。该过程有两个参数:表名和字段及其类型的列表。

CREATE OR REPLACE PROCEDURE ddlproc (tablename varchar2, cols varchar2) AS

cursor1 INTEGER;

BEGIN

cursor1 := dbms_sql.open_cursor;

dbms_sql.parse(cursor1, 'CREATE TABLE ' || tablename || '

( ' || cols || ' )', dbms_sql.v7);

dbms_sql.close_cursor(cursor1);

end;

/

SQL> execute ddlproc ('MYTABLE','COL1 NUMBER, COL2 VARCHAR2(10)');

PL/SQL procedure successfully completed.

SQL> desc mytable;

Name Null? Type

------------------------------- -------- ----

COL1 NUMBER

COL2 VARCHAR2(10)

注意:DDL语句是由Parese命令执行的。因此,不能对DDL语句使用bind变量,否则你就会受到一个错误信息。下面的在DDL语句中使用bind变量的例子是错误的。

**** Incorrect Example ****

CREATE OR REPLACE PROCEDURE ddlproc (tablename VARCHAR2,

colname VARCHAR2,

coltype VARCHAR2) AS

cursor1 INTEGER;

ignore INTEGER;

BEGIN

cursor1 := dbms_sql.open_cursor;

dbms_sql.parse(cursor1, 'CREATE TABLE :x1 (:y1 :z1)', dbms_sql.v7);

dbms_sql.bind_variable(cursor1, ':x1', tablename);

dbms_sql.bind_variable(cursor1, ':y1', colname);

dbms_sql.bind_variable(cursor1, ':z1', coltype);

ignore := dbms_sql.execute(cursor1);

dbms_sql.close_cursor(cursor1);

end;

/

虽然在过程创建时,没有错误信息。但在运行时,你将得到错误信息"ORA-00903: invalid table name" 。

SQL> execute ddlproc ('MYTABLE', 'COL1', 'NUMBER');

begin ddlproc ('MYTABLE', 'COL1', 'NUMBER'); end;

*

ERROR at line 1:

ORA-00903: invalid table name

ORA-06512: at "SYS.DBMS_SYS_SQL", line 239

ORA-06512: at "SYS.DBMS_SQL", line 25

ORA-06512: at "SCOTT.DDLPROC", line 8

ORA-06512: at line 1

案例二:SQL*Plus 中的触发器错误

你是如何发现dbms_error_code 数字的呢?我如何才能在SQL*Plus 中显示Oracle错误信息描述呢?

第1行错误:

ORA-04098: 'SYSTEM.LOG_ERRORS_TRIG'触发器无效,并且无法再次生效

ORA-00903: 无效表明

ORA错误可以在错误信息指南(technet.oracle.com上可以找到完全的文档)中找到。你列出的错误信息说的是SYSTEM ID拥有的名为LOG_ERRORS_TRIG的触发器无效了,因为触发器中参考了一个无效的表名。你需要找出触发器代码并从那里开始继续。

oracle错误ORA_00903,Oracle ORA-00903错误具体原因分析相关推荐

  1. oracle10g cssd日志,【案例】Oracle CSSD进程HANG导致RAC节点重启原因分析笔记

    [案例]Oracle CSSD进程HANG导致RAC节点重启原因分析笔记 时间:2016-11-04 19:20   来源:Oracle研究中心   作者:HTZ   点击: 次 天萃荷净 Oracl ...

  2. 本机未装Oracle数据库时Navicat for Oracle 报错:Cannot create oci environment 原因分析及解决方案

    本机未装Oracle数据库时Navicat for Oracle 报错:Cannot create oci environment 原因分析及解决方案 参考文章: (1)本机未装Oracle数据库时N ...

  3. Oracle日志文件中状态为INVALID(原因分析)

    Oracle中向日志组中添加日志文件,查询结果显示状态为invalid: alter database add logfile member '/u01/app/oracle/oradata/orcl ...

  4. Oracle数据库adg数据没同步,Oracle 11g备库无法开启ADG的原因分析

    今天碰到一个有些奇怪的问题,但是奇怪的现象背后都是有本质的因果. 下午在做一个环境的检查时,发现备库是在mount阶段,这可是一个11gR2的库,没有ADG实在是太浪费了,对于这种情况感觉太不应该了. ...

  5. ORACLE数据库定时任务自动停止(broken)的原因分析及解决办法

    ORACLE的定时任务,可以通过USER_JOBS这张边进行查询详细信息.今天,生产环境的数据库定时任务莫名其妙的死掉了. 首先,broken选项是打上√的,一般情况下,去掉该√选项,点击Apply即 ...

  6. 动易2005、2006版常见错误号的原因分析及解决方法

    错 误 号:432 错误描述:File name or class name not found during Automation operation 错误来源:PE_Common6 原因分析:服务 ...

  7. Oracle学习笔记 --- Oracle ORA错误解决方案

    今天在Debug的时候报错了如下信息: 后来综合了网上的东西,总结如下: ORA-00001: 违反唯一约束条件 (.) 错误说明:当在唯一索引所对应的列上键入重复值时,会触发此异常. ORA-000 ...

  8. oracle提示01034,oracle数据库ORA 01034错误问题解决方案

    ORA-01034错误的话: Oracle常见错误之一 这是个Oracle数据库服务器比较常见的错误.有经验的用户几乎马上就能解决这个错误,再不济也能马上到Metalink去搜索一下. 不幸的是,大多 ...

  9. oracle错误号提示ORA-

    网络收集 ORA-00001: 违反唯一约束条件 (.) ORA-00017: 请求会话以设置跟踪事件 ORA-00018: 超出最大会话数 ORA-00019: 超出最大会话许可数 ORA-0002 ...

最新文章

  1. 彻底解决python打印结果省略号的问题显示宽度
  2. AI部署:聊一聊深度学习中的模型权重
  3. JUNIPER设备常用命令总结
  4. 软件测试--测试Demo
  5. Common Lisp语言快速入门
  6. 图解MySQL索引:B-树(B+树)
  7. 计算机网络严楠,安徽工程大学
  8. 视觉SLAM十四讲学习笔记-第六讲-非线性优化的实践-高斯牛顿法和曲线拟合
  9. windows中的过滤绑定如何动态卸载
  10. python列表元组字典集合实验心得_python心得 元组,字典,集合
  11. php去除文字格式,php如何清除html格式并去除文字中的空格然后截取文字
  12. Java 删除文件夹
  13. JS脚本实现浏览器自动点击(阿里员工秒杀月饼)
  14. 一张图理解对分、增长函数、打散、突破点、VC维
  15. 1153: 简易版最长序列 C语言
  16. java jstl 配置_jstl的tld配置
  17. 如何像Uber一样给工程师派单 解放外包落后的生产力
  18. oracle外部表kup-04023,kup-04040访问外部表时
  19. 904. 水果成篮(数组、滑动窗口)
  20. Windows压缩工具 “ Bandizip 与 7-zip ”

热门文章

  1. FunHouse-F10-MPro-1005G1-Hackintosh-Opencore 黑苹果efi引导文件
  2. Yocto配置menuconfig报错:ERROR: do_menuconfig: No valid terminal found, unable to open devshell.
  3. 鸿蒙系统三大主要功能,全球第三大手机系统「鸿蒙」上线,这19款手机能抢先用...
  4. linux创建删除文件命令行,彻底消失,Linux下用命令行彻底删除文件
  5. 结合实际问题的 Bitcode 适配指南 (一)
  6. 基于 FPGA Vivado 的数字钟设计(附源工程)
  7. MT6753芯片资料MT6753处理器分析
  8. 如何检测是否安装了.NET 2.0和.NET 3.0
  9. 画笔与橡皮擦—用画笔工具制作邮票
  10. 用EasyX图形库画一个哆啦A梦