SSDT SQL脚本生成错误

时间:2018-11-08 09:31:34

标签: sql sql-server-data-tools

使用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,它是一个关键字,从那里我得到了很多错误。有没有办法解决这个问题?该脚本将用于自动执行数据库迁移,因此我需要该工具来生成脚本,而又不会显示语法突出错误并且在错误日志中也不会出现错误。

我将不胜感激!

1 个答案:

答案 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作为别名:)