Учитывая этот SQL:
CREATE TABLE dbo.dtproperties
( [id] int NOT NULL
, [objectid] int NULL
, [property] varchar(64) NOT NULL
, [value] varchar(255) NULL
, [uvalue] nvarchar(510) NULL
, [lvalue] image(16) NULL
, [version] int NOT NULL
)
Пытаясь запустить это в реальной оболочке или с помощью средства проверки синтаксиса SQL, он ожидает закрывающую скобку в 8,20
, которая находится в пробеле между int
и NOT NULL
. Вот изображение проверки в sql-format.com :
На самом деле я не пишу этот SQL вручную - он создается из дампа структуры из соединения с базой данных Ruby on Rails ActiveRecord. Устаревшая база данных, к которой она подключена, хорошо, но синтаксически не проверяет. Мне пришлось программно заключать все имена столбцов в квадратные скобки из-за того, как часто зарезервированные ключевые слова используются в качестве имен столбцов. Поэтому, какой бы ни была эта проблема, в идеале я смогу решить ее программным путем.