我有一个存储过程,我在其中更改数据库属性。它在脚本中使用ALTER DATABASE CURRENT。但我发现这在2012年的MSSQL版本中运行良好,但在旧版本中给出了例外。如何解决这个问题?
示例脚本内容:
ALTER DATABASE CURRENT SET ANSI_PADDING OFF
GO
错误:
Incorrect syntax near the keyword CURRENT
答案 0 :(得分:2)
您可以将匿名块与sp_executesql一起使用 -
declare @db_name varchar(64)
declare @stat_sql nvarchar(256)
begin
select @db_name = (select DB_NAME())
set @stat_sql = N'ALTER DATABASE ' + @db_name + ' SET ANSI_PADDING OFF'
EXECUTE sp_executesql @stat_sql
end