我需要按照要求TRIM数据库。所以,我正在使用下面的脚本并手动提供数据库名称。我需要的是自动化脚本以自动获取数据库名称。任何人都可以建议如何自动获取数据库名称。
Use [Sales_backup_2015_05_31_230001_7137975]
Exec [spMaint_TrimTestDB] 1
Go
表示例如:
而不是手动提供Sales_backup_2015_05_31_230001_7137975
我需要自动获取数据库名称
感谢。
答案 0 :(得分:0)
如果没有传递参数,有一个函数DB_NAME()
将返回当前数据库的名称。检查this。
答案 1 :(得分:0)
我想动态SQL可能会帮助您在不同的数据库中运行SP:
DECLARE @sql nvarchar(max)
SELECT @sql = (
SELECT N'Use '+QUOTENAME([name]) +' Exec [spMaint_TrimTestDB] 1;'
FROM sys.databases
WHERE database_id >= 5 AND [name] like 'Sales_backup%'
FOR XML PATH('')
)
EXEC sp_executesql @sql
此脚本将创建并执行动态语句,如:
Use [sales_backup_2015] Exec [spMaint_TrimTestDB] 1;
Use [sales_backup_2016] Exec [spMaint_TrimTestDB] 1;
etc...