在命令式编程语言中,您可以在任何需要整数的地方放置表达式。为什么在 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 新手,所以这可能是主要原因)。
如果这有一些相关性,我正在使用 Interbase 7.5。