2つのSQLスクリプト:スクリプトAおよびBがあります。スクリプトAは情報を取得し、sp_executesql
コマンドを使用してストアドプロシージャ(スクリプトB)を呼び出します。私はこれを成功裏に達成することができます。1つのストアドプロシージャから別のストアドプロシージャへのSQLパスパラメータ
しかし、今私はスクリプトAからスクリプトBに値を渡したいと思います。これを達成することはできません。 @nID
は私が渡したいパラメータです。このリンクを参照していますhttps://msdn.microsoft.com/en-IN/library/ms188001.aspx
スクリプトが添付されています。簡単にするために、私はパラメータ値を5にしました。それで、あるスクリプトから別のスクリプトに '5'を渡すにはどうしたらいいですか?助けてくれてありがとう。
スクリプトA
BEGIN
SET NOCOUNT ON;
DECLARE @sp nVARCHAR(25)
DECLARE @nID nvarchar(25)
DECLARE @busID nvarchar(25)
DECLARE @ParmDefinition nvarchar(500)
SET @ParmDefinition = N'@nID nvarchar(50) output ';
set @sp = 'WMCOMM';
set @busID = 5
execute sp_executesql @sp, @ParmDefinition, @nID = @busID;
END
スクリプトB
ALTER PROCEDURE [dbo].[WMCM]
AS
BEGIN
SET nocount ON;
declare @numID nvarchar(50)
insert into tester(numid)
values(@numID)
END
、供給されなかったパラメータ@nIDを期待して、残念ながら、今のスクリプトAがWMCM SPを示すエラーを取得している、渡そうとしているようです。何か案は? – arios
プロシージャAのsp_executeを値を渡すように変更する必要があります。 – pacreely
確かに....それを正しく修正する方法は?私はあらゆる方法で試していますが、同じエラーが発生しています。 – arios