(请原谅这个问题的业余性质)
我正在尝试将服务器名和数据库名称传递给存储过程,该存储过程按如下方式进行一些日志记录
exec [dbo].[Logger]
@Server = @@servername,
@Database = db_name(db_id()),
@Task = 'Some task';
但我一直收到这个错误 -
Msg 102, Level 15, State 1, Line 10
Incorrect syntax near 'db_id'.
我在顶部使用 declare @dbname varchar(255) = db_name(db_id());
然后使用它来让它工作。但这似乎是一个不必要的变量。
谢谢
最佳答案
试试这个:
declare @servername varchar(100) = @@servername
declare @dbname = db_name(db_id())
exec [dbo].[Logger]
@Server = @servername,
@Database = @dbname,
@Task = 'Some task'
关于sql-server - SQL Server - 将服务器和数据库传递给存储过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16487105/