1

_VERSION_HISTORYという名前のテーブルがあります。このテーブルの切り捨て中に ORA-00911 エラーが発生しました。Oracle ではアンダースコア (_) で始まる名前を使用できますが、切り捨て中にエラーがスローされます。ばかげた間違いですか?

4

2 に答える 2

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 の命名規則を回避するために二重引用符を使用することを決めた人) の責任です。 詳細をご覧ください

于 2013-07-23T06:58:23.453 に答える
0

特別な憲章を含む SQL ステートメントを実行しようとしたようです。切り捨てコマンドとは関係ないと思います。切り捨てを単純な Select に置き換えて、このシナリオをテストするだけです。使用しているフォントによっては、特殊文字が空白として表示される場合があることに注意してください。

于 2013-07-23T06:57:28.803 に答える