I need to run update script on current database (ALTER DATABASE...
), but can't use implicit its name. Is possible to use some function to get current db name and use inside ALTER DATABASE
(Sql Server 2005 and above) ? I tried use db_name()
, but doesn't work.
select db_name();
works
ALTER DATABASE db_name() ...
doesn't work
Overview: SQL Server Adds or removes files and filegroups from a database, changes the attributes of a database or its files and filegroups, changes the database collation, and sets database options. Database snapshots cannot be modified.
In Object Explorer, expand Databases, right-click the database to rename, and then select Rename. If the database was your default database, see Reset your default database after rename. Refresh the database list in Object Explorer.
Actually something more like this is probably a little better if you're altering the current database:
ALTER DATABASE CURRENT SET COMPATIBILITY_LEVEL = 90
You need to use something like
declare @dbname varchar(100) set @dbname=quotename(db_name()) exec('alter database '+@dbname+' ...');
or.. even simpler
set @sql='alter database '+quotename(db_name())+' ...'; exec(@sql)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With