3

命令型プログラミング言語では、整数が期待されるすべての場所に式を配置できます。なぜSQLではそうではないのですか?SQLが次のようなものを受け入れないのはなぜですか。

  Create Table Entries (Title Varchar((Select Count(ID) From SomeOtherTable)))

たとえば、これが機能する場合:

  Select * From Entries Where id = (Select Count(id) From SomeOtherTable)

もちろん、これらの例はばかげています。動的な情報に基づいてテーブルを作成できるかどうかは、あまり気にしません。この点で、SQLがC、C#、Delphiなどと異なる理由を理解したいと思います。これらの言語では、直感的なルールに基づいて何が機能するかを知っています。クエリを書いているとき、いくつかの構造が受け入れられるかどうかはわかりません。受け入れられる場合と受け入れられない場合があります(SQLはまだ新しいので、これが主な理由かもしれません)。

関連性がある場合は、Interbase7.5を使用しています。

4

1 に答える 1

3

CREATE TABLEDDL(データ定義言語)であり、これはデータベースのスキーマ構造を定義し、SELECTDML(データ操作言語)であり、スキーマに格納されているデータを処理します。

1つのクエリでDDLとDMLを組み合わせて一致させることはできません。

于 2012-08-01T19:33:57.917 に答える