2
我有試圖讓這個查詢工作的問題,我不斷收到錯誤,這裏是代碼,之後相關的錯誤有問題,有檢查,如果功能已經存在
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[ConcatNames]') AND type in (N'FN', N'IF', N'TF', N'FS', N'FT'))
BEGIN
EXECUTE dbo.sp_executesql @statement = N'
create function dbo.ConcatNames(@ProdId int) returns varchar(8000)
as
begin
declare @output varchar(8000)
select @output = coalesce(@output + ', ', '') + Name
from Reports
where ProdID = @ProdId and Name > ''
return @output
end'
PRINT N'Created function ConcatNames'
END
ELSE
BEGIN
PRINT N'function ConcatAttributeNames Already Exists'
END
錯誤
消息119,級別15,狀態1,行8
必須將參數2和後續參數作爲'@name = value'傳遞。
使用表單'@name = value'後,所有後續參數 必須以'@name = value'的形式傳遞。
謝謝你,先生,這工作 – user710502 2012-03-22 06:07:21
我試過這在SQLFiddle並得到錯誤。你需要修改你的代碼:declare @statement nvarchar(4000),你爲什麼在聲明中有**?如果您打算通過SO進行粗體顯示,那麼在代碼塊內不起作用 – 2012-03-22 06:12:48
感謝您的觀察。我修復了代碼以備將來參考。 – 2012-03-22 06:15:31