1

この質問は、この回答に基づいています。

次の文はどういう意味ですか?

最後に、大文字と小文字が混在する識別子を使用しないでください。すべて小文字にするので、引用符を付ける必要はありません。

CREATE TABLE、USER_ID、NOT NULL などのコマンドを小文字に変更する必要があるということですか? - 一般的な命名規則に反するため、できません。

4

3 に答える 3

3

ではPostgreSQL、引用符で囲まれていない識別子は小文字に変換されます。

CREATE TABLE "MYTABLE" (id INT NOT NULL);

CREATE TABLE "mytable" (id INT NOT NULL);

INSERT
INTO    "MYTABLE"
VALUES  (1);

INSERT
INTO    "mytable"
VALUES  (2);

SELECT  *
FROM    mytable;

---
  2

SELECT  *
FROM    MYTABLE;

---
  2

どちらのクエリも、 ではなく2に対して発行されているため、を返します。"mytable""MYTABLE"

返す(つまり、 ではなく1に対してクエリを発行する) には、それを引用する必要があります。"MYTABLE""mytable"

SELECT  *
FROM    "MYTABLE";

---
  1

CREATE TABLEなどは識別子ではなく、予約語です。

好きな場合に使用できます。

于 2009-07-29T12:32:28.763 に答える
2

いいえ、紳士は、テーブル、列などの名前など、すべて小文字の識別子を使用して言及したと思います。これは、使用する CREATE TABLE などのコマンドには影響しません。

マルク

于 2009-07-29T12:30:32.913 に答える
1

なぜ彼がそう言ったのか、私にはわかりません。少なくとも SQL Server では、識別子の大文字と小文字は関係ありません。多分それは他のDBMSシステムで行うでしょうか?

于 2009-07-29T12:31:23.240 に答える