我使用最新版本的Visual Studio Professional 2017(v15.9.9)和最新的SQL Server数据工具(v15.1.61903.01040)
我在我的数据库项目中创建了一个新的存储过程,例如,使用以下代码:
create proc [dbo].[MyProc] as
select 'Test' as [TestColumn] FOR JSON AUTO
它不会使用下面的错误编译,并突出显示关键字JSON
:
SQL46005: Expected XML but encountered JSON instead
SQL80001: Incorrect syntax near 'JSON'
看起来很奇怪,当它完全有效的SQL时(或者我错了?有什么东西我错过了吗?还是真的不支持?)
这个问题似乎是exist for older versions of SSDT before 2016,但据报道当时解决了,这可能是最近的回归?我找不到此错误的任何其他实例或类似的任何内容。
如果.sqlproj属性上的“目标平台”设置为SQL 2014或更低版本或“Microsoft Azure SQL数据库”,那么这将发生,兼容级别不会影响它(或者至少将我的项目设置为2014兼容性没有“T)。
这适用于SQL 2016+和Azure v12与SSDT“15.1.61902.21100”
希望能帮助到你!
和