sp_executesql を使用してストアド プロシージャを呼び出すとエラーが発生するのはなぜですか?
動作しません。
exec sp_executesql N'sp_clnt_regional_experts_territories',
N'@action nvarchar(3), @regional_expert_id int,@region_id int,@territory_id int',
@action = N'SEL',
@regional_expert_id = 2,
@region_id = -1,
@territory_id = -1
プロシージャまたは関数 'sp_clnt_regional_experts_territories' には、指定されていないパラメーター '@action' が必要です。
正常に動作します:
EXEC sp_clnt_regional_experts_territories
@action = N'SEL',
@regional_expert_id = 2,
@region_id = -1,
@territory_id = -1
ストアド プロシージャは次のとおりです。
ALTER PROCEDURE [dbo].[sp_clnt_regional_experts_territories]
@action NVARCHAR(3),
@regional_expert_id INT = -1,
@region_id INT = -1,
@territory_id INT = -1