xml 入力を介して 2008 SQL サーバー テーブルに新しいレコードを挿入するストアド プロシージャがあります。
CREATE PROCEDURE ins_AddBinsToBox
@BoxId BIGINT,
@BinIds XML
AS
BEGIN
INSERT INTO WebServiceBoxDetails
(
BinId,
BoxId
)
SELECT
ParamValues.ID.value('.','VARCHAR(20)'),
@BoxId
FROM
@binIds.nodes('/Bins/id') AS ParamValues(ID)
これは新しい行を挿入するのに最適です。私が混乱しているのは、(UPDATE ステートメントを介して) この同じテーブルを新しい xml 入力で更新することですか?
テーブル:
Id(PK) BoxNumber BinId
(bigint) (bigint) (int)
_______________________
1 12 334
2 12 445
3 12 776
4 16 223
5 16 669
使用するコマンド:
EXEC upd_Box @binIds='<Bins><id>7848</id><id>76554</id><id>71875</id></Bins>', @BoxId=12