0
通常のSTPを部分的に動的なSQLに変換しようとしています パラメータに値を設定するために動的部分が必要です。後でSTPの非動的部分で使用します。私はそれはOKだけど、それが空である外パラメータを持つ動的SQL
私が何をしないのです@stmtダイナミックの内部でそれを印刷
?
---------------------------------------------- ----------------構築文
set @stmt = 'set @stringActors = cast((select actors.actor_id
'[email protected]_clause+' '
[email protected]_clause+' '
+'for xml raw,type) as varchar(max)) print @stringActors'
print @stmt
------------------------- -------------------------------------実行
EXECUTE sp_executesql @stmt,N'
@stringActors varchar(4000) output
,@user_actor bigint
,@internal_search_actor varchar(30)
,@internal_search_route_manager varchar(30)
,@internal_search_terminal_id varchar(30)
,@ACTOR_TYPE_INSTITUTE int
,@ACTOR_TYPE_LOCATION int'
,@stringActors [email protected]
,@[email protected]_actor
,@[email protected]_search_actor
,@[email protected]_search_route_manager
,@[email protected]_search_terminal_id
,@[email protected]_TYPE_INSTITUTE
,@[email protected]_TYPE_LOCATION
----- -------------------------------------------------- ----------残りのSTP(動的ではない) @stringActorsを印刷
をチェックし、問題が
はまた
あるべきだと思いますしかし、一度あなたのベルトの下でその経験を得ると、あなたはそれを忘れることはありません。また、sp_executesqlのparam-setter句の読み書きを容易にするため、 "@pActors"や "iActors"のような "内部"パラメータの前に、たくさんのdynamic-SQLを書く人からのヒントコマンド。同様に: 'EXECUTE sp_executesql @stmt、N ' @pStringActors varchar(4000)出力'、@pStringActors = @stringActors OUTPUT' – NateJ