• 网络学院
  • IT资讯
  • 操作系统
  • 网络技术
  • 软件应用
  • 办公软件
  • 编程技术
  • 网站架设
  • 数据库类
  • 平面设计
  • 多媒体类
  • 游戏资讯
  • 教学论文
  • 认证考试
OracleORA-00903错误具体原因分析
  站点:
  • 首 页
  • 最新软件
  • 文章教程
  • 国内软件
  • 国外软件
  • 绿色软件
  • 源码下载
  • 字体下载
OracleORA-00903错误具体原因分析
软件发布 OracleORA-00903错误具体原因分析
网络软件 系统工具 应用软件 联络聊天 图形图像 多媒体类 行业软件 游戏娱乐 编程开发 安全相关 教育教学 数码软件 绿软下载
热门软件: QQ 瑞星 pplive e话通 木马克星 千千静听 office2000 五笔字根 Photoshop 视频分割
返回文章教程首页 >> 文章首页 >> 认证考试 >> Oracle认证 >> Oracle指导 >> OracleORA-00903错误具体原因分析

OracleORA-00903错误具体原因分析

添加时间: 2008-4-27 21:09:21  作者: Oracle指导  阅读次数:8   来源: http://www.d9soft.com

       

  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认证培训常见问题 下一篇文章: Oracle9iOCM-“大师”级别的认证

相关文章:

  • 盖茨香港演讲 四大原因捐尽家产
  • Sendmail 554 错误的解决
  • 深度分析:Oracle收购JBoss&BEA开源kodo
  • Oracle9iAS证书指南与教材分析
  • 常见问题诊断方法---(常见错误篇)

相关软件:

  • 木马分析专家个人防火墙 2008 0814
  • 策略大师证券分析系统 V3.0
  • 木马分析专家 2008 9.93 Build 0811
  • 新狐股票分析师(XhStock) V2.0
  • 猫的传说Excel成绩分析 V1.90 特别版
  • 富家个人外汇交易分析系统 V3.1.62

 

快速导航

  • 网络学院
  • 精品汇聚
  • 字体下载
  • 教程下载
  • ASP源码
  • PHP源码
  • Net源码
  • JSP 源码

Oracle认证分类导航

  • Oracle动态
  • Oracle指导
  • Oracle题库

本类经典文章推荐

  • Oracle中关于逻辑备份与恢复
  • Oracle开发人员JAVA存储过程
  • 为数据库的表自动生成行号
  • Oracle中的OOP概念
  • 用java从oracle取数
  • 冷备份移植到另一台Solaris机器上
  • 如何将excel数据导入oracle中
  • Oracle10.2g安装记录
  • 数据库监控工具ForOraclev1.2
  • oracle双机群集系统

Oracle指导阅读排行

  • Oracle系统表查询
  • 实例:Oracle导出EXCEL文件
  • Oracle常用的OCI函数上
  • Oracle企业管理器(OEM 2.1)使用...
  • Tomcat+SQLServer连接池配置
  • 如何将excel数据导入oracle中
  • 如何取出某一用户的密码 再原样改...
  • 实例:Oracle导出EXCEL文件
  • 案例学习Oracle错误:ORA-00604
  • 案例学习Oracle错误:ORA-00060

Oracle认证阅读总排行

  • Oracle系统表查询
  • 实例:Oracle导出EXCEL文件
  • Oracle常用的OCI函数上
  • 在ORACLE的存储过程中如何做简单的...
  • Oracle企业管理器(OEM 2.1)使用...
  • Tomcat+SQLServer连接池配置
  • 如何将excel数据导入oracle中
  • AIX下自动启动Oracle数据库与监听...
  • 如何取出某一用户的密码 再原样改...
  • 实例:Oracle导出EXCEL文件

广告位置

字母检索 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 回到顶部

关于我们 | 版权声明 | 免责条款 | 广告联系 | 软件发布 | 下载帮助 | 下载排行 | 网站地图 | 特别鸣谢 | 友情连接

copyright; 2005-2008 D9soft.com 第九软件网 版权所有