だから私はcheckboxlist
ASP.NETフォームを持っています。ストアド プロシージャ ( ) の句checkboxes
の一部として選択された の ID が必要です。非常に単純明快です。たとえば、ユーザーが, ,を選択すると、私の手順では . の値を要求します。私は動的ステートメントを実行できず、クエリを動的に作成したくないので、XML が適切な選択であると考えました。 IN
SQL Server 2008
1
2
4
7
TranCode IN (1,2,4,7)
IN
このようにVB.NETでXML文字列を構築しています -<chargecode><refnum>1</refnum><refnum>2</refnum></chargecode>
など で同じフィールドTranCode
をRefNum
表しています.トランザクションテーブルと説明テーブルの間で名前が異なるだけrefnum
なので、必要に応じてXMLで別のものに変更できますが、私は間違いなくTranCode
比較列に使用する必要があります。
ストアド プロシージャ@ChargeCodesXML
で、VB.NET から渡された XML 文字列を格納する という XML 変数を宣言しました。基本的に必要なことは、XML ファイルからすべての refnum フィールドを取り出して と比較することだけTranCode
です。手順にはいくつかの結合、いくつかの集計関数、グループ化などがありますが、基本的には次のようなものが必要です
SELECT * FROM SomeTable WHERE TranCode IN (SELECT RefNum FROM MyXMLFile)
私はあちこち検索して、複雑な XML クエリをたくさん見てきましたが、必要なものほど単純なものはなかったので、目にする例に圧倒されてしまいました。この非常に単純な比較のために proc を変更する方法を教えてください。
ありがとう!マイク