(请原谅问题的业余性质)
我正在尝试将servername和数据库名称传递给存储过程,该存储过程执行一些日志记录,如下所示
exec [dbo].[Logger]
@Server = @@servername,
@Database = db_name(db_id()),
@Task = 'Some task';
但我一直收到这个错误 -
Msg 102,Level 15,State 1,Line 10
'db_id'附近的语法不正确。
我使用顶部的declare @dbname varchar(255) = db_name(db_id());
然后使用它来使用它。但这似乎是一个不必要的变量。
由于
答案 0 :(得分:1)
试试这个:
declare @servername varchar(100) = @@servername
declare @dbname = db_name(db_id())
exec [dbo].[Logger]
@Server = @servername,
@Database = @dbname,
@Task = 'Some task'