ORA-00911:截断表时出现无效字符错误

时间:2013-07-23 06:48:31

标签: database oracle

我有一个名为 _VERSION_HISTORY 的表格,在截断此表时出现ORA-00911错误。 Oracle允许名称以下划线(_)开头,但在截断时会抛出错误。这是一个愚蠢的错误吗?

2 个答案:

答案 0 :(得分:5)

Oracle 不允许允许数据库对象名以下划线开头:

SQL> create table _T34 (col1 number);
create table _T34 (col1 number)
             *
ERROR at line 1:
ORA-00911: invalid character


SQL> 

因此,在创建该表时必须使用双引号:

SQL> create table "_T34" (col1 number);

Table created.

SQL>

一旦你引用那个对象,你必须使用双引号吗?

SQL> truncate table "_T34";

Table truncated.

SQL> 

这是“一个愚蠢的错误”吗?是的,但是你的唉(或任何决定使用双引号来规避Oracle命名约定的人)。 Find out more

答案 1 :(得分:0)

似乎您已尝试在其中执行带有特殊章程的SQL语句。我不认为这与truncate命令有关。您可能只需用一个简单的Select替换truncate并测试这个场景。请注意,由于您使用的字体,特殊字符可能显示为空白区域。