命令型プログラミング言語では、整数が期待されるすべての場所に式を配置できます。なぜ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を使用しています。