gpt4 book ai didi

sql-server - SQL Server - 将服务器和数据库传递给存储过程

转载 作者:行者123 更新时间:2023-12-03 22:30:00 25 4
gpt4 key购买 nike

(请原谅这个问题的业余性质)

我正在尝试将服务器名和数据库名称传递给存储过程,该存储过程按如下方式进行一些日志记录

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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com