現在のデータベース ( ) で更新スクリプトを実行する必要がありますALTER DATABASE...
が、その名前を暗黙的に使用することはできません。関数を使用して現在のデータベース名を取得し、内部で使用することは可能ALTER DATABASE
ですか (Sql Server 2005 以降) ? を使用してみdb_name()
ましたが、うまくいきません。
select db_name();
作品
ALTER DATABASE db_name() ...
動作しません
現在のデータベース ( ) で更新スクリプトを実行する必要がありますALTER DATABASE...
が、その名前を暗黙的に使用することはできません。関数を使用して現在のデータベース名を取得し、内部で使用することは可能ALTER DATABASE
ですか (Sql Server 2005 以降) ? を使用してみdb_name()
ましたが、うまくいきません。
select db_name();
作品
ALTER DATABASE db_name() ...
動作しません
次のようなものを使用する必要があります
declare @dbname varchar(100)
set @dbname=quotename(db_name())
exec('alter database '+@dbname+' ...');
または..さらに簡単
set @sql='alter database '+quotename(db_name())+' ...';
exec(@sql)
これを試して
DECLARE @DBName sysname;
SET @DBName = (SELECT db_name());
DECLARE @SQL varchar(1000);
SET @SQL = 'ALTER DATABASE '+@DBName+' .......'
ラージ