3
(對不起問題的業餘性質)SQL服務器 - 通過服務器和數據庫存儲過程
我試圖將服務器名和數據庫名稱傳遞到存儲過程,做一些記錄如下
exec [dbo].[Logger]
@Server = @@servername,
@Database = db_name(db_id()),
@Task = 'Some task';
,但我不斷收到此錯誤 -
消息102,級別15,狀態1,行10
附近有語法錯誤DB_ID「。
我已經得到這個工作使用declare @dbname varchar(255) = db_name(db_id());
在頂部,然後使用它。但它似乎是一個不必要的變量。
感謝
DB_NAME返回NVARCHAR(128)不爲varchar(255) – 2013-05-10 16:54:18
這額外的變量** **是確實是必要的,因爲你**不能**使用功能在存儲過程執行調用中 - 您需要具有變量和/或文字所需的所有值 – 2013-05-10 16:54:34
重複的:http://stackoverflow.com/questions/5967035/using-function-as-a-parameter-when-executing- a-stored-procedure – 2013-05-10 16:55:48