У меня есть хранимая процедура, которая получает 2 параметра.
@username VARCHAR(8),
@xmlShiftDays XML
Я хочу удалить несколько строк из базы данных при выполнении итерации по XML.
Мне удалось сделать нечто подобное для INSERT (см. Ниже)
INSERT INTO table(username, date)
SELECT
username = @username,
CONVERT(DATETIME,shiftDate.date.value('.','VARCHAR(10)'),103)
FROM
@xmlShiftDays.nodes('/shiftDates/date') as shiftDate(date)
Это успешно вставит количество строк "x" в мою таблицу.
Теперь я хочу перестроить запрос на количество строк DELETE
"x".Если кто-нибудь знает, как или мог бы указать мне правильное направление, я был бы очень признателен.
Пример того, чего я хочу достичь:
DECLARE @username VARCHAR(8)
DECLARE @xmlShiftDays XML
SET @xmlShiftDays = '<shiftDates><date>21/01/2012</date></shiftDates>'
SET @username = 'A0123456'
DELETE FROM table
WHERE username = @username
AND date = "<b>loop through the nodes in the XML string</b>"