nul*_*xff 4 sql t-sql sql-server
我想通过 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)
Run Code Online (Sandbox Code Playgroud)
谢谢....
您不能直接执行此操作 - SQL Server 不允许在其大多数命令中使用表名和列名的变量。
您需要使用动态 SQL 查询 - 将查询创建为字符串,然后执行它:
DECLARE @db_name nvarchar(200);
SELECT @db_name = name
FROM sys.database_files
WHERE type = 0;
PRINT @db_name;
DECLARE @sqlquery NVARCHAR(500);
SET @sqlquery = N'ALTER DATABASE [' + @db_name +
N'] MODIFY FILE ( NAME = ' + @db_name +
N', FILEGROWTH = 100MB);';
PRINT @sqlquery
EXEC sp_executesql @sqlquery
Run Code Online (Sandbox Code Playgroud)