1

DB プロパティを変更するストアド プロシージャがあります。スクリプトで 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 に答える