在SQL Server中使用变量更改数据库名称和filegrowth

时间:2015-05-07 04:29:35

标签: sql sql-server tsql

我想通过SQL脚本更改数据库的文件增长。对于数据库名称,我想使用变量。

任何人都可以帮我使用SQL Server的这个脚本吗?

DECLARE @db_name nvarchar(200);

SELECT @db_name = name 
FROM sys.database_files 
WHERE type = 0;

PRINT @db_name;

ALTER DATABASE [@db_name] 
  MODIFY FILE ( NAME = @db_name, FILEGROWTH = 100MB)

...谢谢

1 个答案:

答案 0 :(得分:1)

您无法直接执行此操作 - SQL Server在其大多数命令中都不允许使用表名和列名变量。

您需要使用动态SQL查询 - 将查询创建为字符串然后执行它:

require(reshape2)
data <- data.frame(choice = c('I', 'F', 'I', 'O', 'F', 'O'), 
                   length = c('subadults', 'subadults', 'subadults', 'adults', 'adults', 'adults'),
                   gender = c('M', 'M', 'F', 'F', 'M', 'F'))

melt_data = melt(data, value.name = "value", id.vars = c("length", "gender"))

dcast(melt_data, gender+length ~ value)

  gender    length F I O
1      F    adults 0 0 2
2      F subadults 0 1 0
3      M    adults 1 0 0
4      M subadults 1 1 0