我有一个存储过程(日志记录过程),所有其他存储过程都会执行以记录它们的使用。 现在我想添加正在登录的存储过程所在的数据库。 我想获取数据库的ID或名称,以执行日志记录过程中的日志记录过程。
这可能吗?
答案 0 :(得分:0)
您可以使用DB_NAME()
检索当前数据库名称。您应该将它作为参数传递给您的日志记录过程。
USE Database1
SELECT
CurrentDatabase = DB_NAME()
-- CurrentDatabase = Database1
USE Database999
SELECT
CurrentDatabase = DB_NAME()
-- CurrentDatabase = Database999
DECLARE @CurrentDatabase VARCHAR(100) = DB_NAME()
EXEC LogDatabase.dbo.LoggingProcedure
@DatabaseName = @CurrentDatabase
-- OtherParameters
答案 1 :(得分:0)
我认为没有其他方法可以修改procs来执行此操作,最好的方法是在客户端procs上使用DB_NAME