Code generators tend to be simpler when they generate output using the new Microsoft bracket notation ([]
) for nearly everything.
When I first saw it, I though wow a reincarnation of the somewhat banned quoted identifier notation.
As far as I know it is a proprietary extension from Microsoft (meaning Oracle doesn't support it).
Looking at SQL Server there is no difference if you define a table like
CREATE TABLE [dbo].[Table_2] ([col1] [int], [col2] [int]);
or
CREATE TABLE dbo.Table_2 (col1 int, col2 int);
Its a matter of personal or corporate style. Be consistent.
Now if you want to migrate your database to Oracle, brackets are no option.
You can use the old quoted identifiers, but these are case sensitive which causes a lot of trouble.
Is it a good idea to remove all brackets from generated code, avoid using blanks, other special characters and reserved keywords for names and just code in a way that most DBMS understand?