現在のデータベース(ALTER DATABASE...
)で更新スクリプトを実行する必要がありますが、暗黙の名前は使用できません。いくつかの関数を使用して現在のdb名を取得し、ALTER DATABASE
(Sql Server 2005以上)の内部で使用することは可能ですか?私はdb_name()
を使ってみましたが、うまくいきません。名前を使用しない現在のデータベースALTER
select db_name();
は
ALTER DATABASE db_name() ...
あなたは
declare @dbname varchar(100)
set @dbname=quotename(db_name())
exec('alter database '[email protected]+' ...');
か...のようなものを使用する必要が
をこれはまだDB_NAMEでエラー() – Raj
私はそれがあると思います同じデータベース上の操作のために、ここにあなたにとって有用なものがあります http://blog.sqlauthority.com/2010/02/11/sql-server-alter-database-dbname-set-single_user-with-rollback-即時/ – brykneval
@Raj - 初めて入力したときに、式の関数db_name()が必要ですが、最初にvarcharにキャストする必要があります。私はこれを反映するためにこれを編集します。 –