使用Visual Studio 2017和SQL Server Data Tool从MSSQL数据库生成脚本时遇到问题。问题是生成脚本时我有很多错误。生成的脚本如下所示:
SELECT
GO.ID_GUID
,GO.NAME
,GO.CODE
,SO.CURRENCY_CODE
FROM
GENERIC_OWNER GO
INNER JOIN
SALES_OWNER SO
ON GO.ID_GUID = SO.GENERIC_OWNER_ID
WHERE
GO.BLOCKED <> 'Y'
如此看来,GENERIC_OWNER的名字叫GO,它是一个关键字,从那里我得到了很多错误。有没有办法解决这个问题?该脚本将用于自动执行数据库迁移,因此我需要该工具来生成脚本,而又不会显示语法突出错误并且在错误日志中也不会出现错误。
我将不胜感激!
答案 0 :(得分:0)
由于GO是客户端工具的关键字(例如ssms),您会收到错误消息,可以更改批定界符,但您可以在关键字周围加上方括号,如下所示:
SELECT
[GO].ID_GUID
,[GO].NAME
,[GO].CODE
,SO.CURRENCY_CODE
FROM
GENERIC_OWNER [GO]
INNER JOIN
SALES_OWNER SO
ON [GO].ID_GUID = SO.GENERIC_OWNER_ID
WHERE
[GO].BLOCKED <> 'Y'
更好的是不要使用GO作为别名:)