我需要在当前数据库 ( 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() ...
不工作
实际上,如果您要更改当前数据库,则更像这样的东西可能会更好一些:
ALTER DATABASE CURRENT SET COMPATIBILITY_LEVEL = 90
你需要使用类似的东西
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+' .......'
拉吉