我有一个存储过程,它通过 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)
这对于插入新行非常有用,我感到困惑的是使用新的 xml 输入更新(通过 UPDATE 语句)同一个表?
桌子:
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