1

我有一个存储过程,我在其中更改数据库属性。它在脚本中使用 ALTER DATABASE CURRENT。但我发现这在 2012 MSSQL 版本中运行良好,但在旧版本中出现异常。如何解决这个问题呢 ?

示例脚本内容:

  ALTER DATABASE CURRENT SET ANSI_PADDING OFF 
  GO

错误:

 Incorrect syntax near the keyword CURRENT
4

1 回答 1

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
于 2013-10-08T04:31:34.490 回答