私は別のストアドプロシージャ(これをBと呼ぶ)を呼び出すストアドプロシージャ(Aと呼ぶ)を持っています。 Bには、Aの呼び出し元に返信したくないSELECTが含まれています。ストアドプロシージャ内の結果をストアドプロシージャ内で抑止するにはどうすればよいですか?
ここにはいくつかの非常に大雑把な擬似コードがありますが、その考え方を理解する必要があります。
これまでのように、AはBとBを呼び出していくつかのことを行い、気にしない結果を返します。 Aが完了すると、それ自身の結果セットが返されます。
Bの結果をAで抑制するにはどうすればよいですか?私はSQL Server 2005を使用しています。Bを変更したくないのは、それが動作していて複雑で複雑すぎるためです。
/* Assume this table matches the output of your procedure */
DECLARE @tmpNewValue TABLE (newvalue int)
INSERT INTO @tmpNewValue
EXEC ProcedureB
から呼び出された場合
#__suppress_results
はprocのB内表示されているので、それが結果セットをスキップする際に知っているので、それはこれを利用して手順Aを変更し、手順Bにパラメータを追加するには必要に応じて新しいパラメータ。 –