Oracle ORA-00903错误具体原因分析

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;
/

时间: 2024-08-31 03:45:39

Oracle ORA-00903错误具体原因分析的相关文章

Ajax向后台传json格式的数据出现415错误的原因分析及解决方法_AJAX相关

问题描述: ajax往后台传json格式数据报415错误,如下图所示 页面代码 function saveUser(){ var uuId = document.getElementById("uuid").value; var idCard = document.getElementById("idCard").value; alert(uuId+idCard); // var result = new Object(); // result.uuId = uuI

XP系统弹出Ravmond.exe应用程序错误的原因分析及解决方法

原因分析: 此电脑上安装了多套安全软件,Ravmond.exe为瑞星杀毒软件的监控程序,且瑞星工作不正常,最后将瑞星卸载掉后解决该问题. 解决方法: 安全软件建议只要安装一套即可,并不是越多越好,如果安装多套软件反而会出现错误冲突导致系统缓慢.关于应用程序错误,内存不能为read提示的问题,有些是在安装某些程序之后出现的,可以找到出现问题的程序软件,卸载即可解决,无需重装系统. 以上就是XP系统弹出Ravmond.exe应用程序错误的原因分析及解决方法,有同样问题的朋友可以按照上述的方法进行设置

U盘0字节错误的原因分析

  一位朋友最近在使用一个8G的U盘时,插入U盘后发现U盘在电脑上显示的大小为0字节,之前还用得好好的,怎么会突然间就0字节了呢?经过详细的询问,才知道朋友经常是在没有安全退出情况下拔出U盘.这很可能就是最大原因. 结合之前遇到过的所有这种现象的原因分析,出现这种故障包括以下几种情况 : 一.你可能经常在没有安全退出情况下拔出U盘 二.你可能用过格式化工具来化式化你的U盘 三.你可能用过加密软件加密过你的U盘 三.你的U盘可能靠近强磁场或曾经受到强列撞击 四.你的U盘接口或者你的电脑USB接口有

Win10升级失败提示0x80072ee2错误的原因分析

原因分析: 出现 0x80072ee2的错误代码是由于服务器无响应造成的,请保证您的网络环境出于稳定状态下进行更新,您也可以尝试更改DNS地址. 应对措施: 1. 使用管理员账户登录计算机. 2. 依次打开"控制面板"-"网络和Internet"-"网络和共享中心". 3. 在左侧导航栏中点击"更改适配器设置". 4. 右键当前的网络连接(本地连接或宽带连接),选择"属性". 5. 选择"Inte

Oracle中corrupt block引起的错误ORA-01498原因分析

执行analyze table tt1 validate structure;分析表上的block corrupt时出现了错误ORA-01498困扰了一段时间了,今天仔细分析了一下作了一点总结. RMAN> BACKUP DATAFILE 4; Starting backup at 2011-07-24 21:36:08 using channel ORA_DISK_1 channel ORA_DISK_1: starting full datafile backupset channel OR

pg_dump一致性备份以及cache lookup failed错误的原因分析

背景 PostgreSQL逻辑备份,如何保证备份数据的一致性呢,例如备份的同时,数据被纂改或者有新增的数据,如何保证在全库视角,备份出来的数据是在备份开始时看到的一致数据. 一致性逻辑备份分析 可以追溯到1999年的代码,早期PostgreSQL通过serializable隔离级别来保证备份的一致性.https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=bcb5aac81dec14d892fae18b446315367563

IIS7报500.23错误的原因分析及解决方法_win服务器

 背景:今天公司终端上有一个功能打开异常,报500错误,我用Fiddler找到链接,然后在IE里打开,报500.23错误:检测到在集成的托管管道模式下不适用的ASP.NET设置.后台是一个IIS7和tomcat7集成的环境,此处记录一下. HTTP 错误 500.23 - Internal Server Error 检测到在集成的托管管道模式下不适用的 ASP.NET 设置. 为什么会出现以上错误? 在IIS7的应用程序池有两种模式,一种是"集成模式",一种是"经典模式&qu

Vue.js绑定HTML class数组语法错误的原因分析_javascript技巧

Vue.js绑定HTML class数组语法错误,详情如下所示: 昨天在官网教程上发现一个错误是这样的,下面看图 http://cn.vuejs.org/guide/class-and-style.html 当有多个条件class时这样写有些繁琐.在1.0.19+中,可以在数组语法中使用对象语法: 如果这样写是可以执行成功的,但有错误 data: { classA: 'class-a', classB: 'class-b', classC: 'class-c', isB: true, isC:

HipChat上传文件报未知错误的原因分析及解决方案_nginx

HipChat的功能类似于Campfire.Sazneo等在线协同工具,并且和Yammer以及Salesforce的Chatter等企业社交平台有一定相似之处.你可以为单个项目或者小组搭建自有的聊天室,也可以很方便的发起一对一聊天.这套 IM 系统还整合了团队文件管理和分享,拖拽就能完成保存操作. 前言 HipChat是Atlassian公司的一款团队协作即时通讯工具,服务端为Linux(官方给的服务端就是一个虚拟机),在Windows.Linux.Android.IOS.Mac等平台都有客户端