1

最近、Oracle のシーケンスに関する問題に直面しています。

alter sequence seq_name increment by 100

「無効なシーケンス名」というエラーが表示されます

ただし、次のように変更した場合

alter sequence "seq_name" increment by 100

それは完全にうまくいきます。誰でもこの背後にある合理性を説明できますか?

ありがとうセバスチャン

ps。オラクルテーブルを作成するためにoci8でレールを使用しています。

4

2 に答える 2

2

シーケンスは大文字と小文字を区別する名前 (引用符を使用) で作成されているため、引用符で囲まれた厳密な名前でのみ参照できます。このような問題なく参照したい場合は、引用符を使用しないシーケンスを作成してください。以下の例 (テーブル名付き):

SQL> create table "t1"(c int);

Table created.

SQL> select * from t1;
select * from t1
              *
ERROR at line 1:
ORA-00942: table or view does not exist


SQL> select * from "t1";

no rows selected

SQL> select * from "T1";
select * from "T1"
              *
ERROR at line 1:
ORA-00942: table or view does not exist


SQL> create table t2(c int);

Table created.

SQL> select * from t2;

no rows selected

SQL> select * from T2;

no rows selected

SQL> select * from "t2";
select * from "t2"
              *
ERROR at line 1:
ORA-00942: table or view does not exist


SQL> select * from "T2"; -- name without quatation marks is uppercase by default

no rows selected
于 2013-09-17T05:56:41.493 に答える