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
エラー
メッセージレベル15、状態1、行8
パラメータ番号2以降のパラメータを '@name = value'として渡す必要があります。
フォーム '@name = value'を使用した後、すべての後続パラメータ を '@name = value'の形式で渡す必要があります。
ありがとうございました – user710502
これをSQLFiddleで試してみましたが、エラーが発生しました。コードを変更する必要があります:declare @statement nvarchar(4000)そしてなぜあなたは宣言の周りに**持っていますか?あなたがSOを介して太字にすることを意図した場合、それはコードブロック内では機能しません –
観測に感謝します。私は将来の参照のためにコードを修正しました。 –