当代码生成器使用新的 Microsoft 括号表示法 ( []
) 为几乎所有内容生成输出时,它们往往更简单。
当我第一次看到它时,我虽然哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇当时有些禁止引用的标识符符号表示法被禁止引用的标识符符号的转世。
据我所知,它是 Microsoft 的专有扩展(意味着 Oracle 不支持它)。
查看 SQL Server,如果您定义一个表,则没有区别
CREATE TABLE [dbo].[Table_2] ([col1] [int], [col2] [int]);
Run Code Online (Sandbox Code Playgroud)
或者
CREATE TABLE dbo.Table_2 (col1 int, col2 int);
Run Code Online (Sandbox Code Playgroud)
这是个人或公司风格的问题。始终如一。
现在,如果您想将数据库迁移到 Oracle,括号是没有选择的。
您可以使用旧的带引号的标识符,但这些标识符区分大小写,这会导致很多麻烦。
从生成的代码中删除所有括号、避免使用空格、其他特殊字符和保留关键字作为名称,并且仅以大多数 DBMS 理解的方式进行编码是否是个好主意?