Может ли кто-нибудь объяснить это?
Я разработал процесс импорта с использованием типа данных XML. После того, как данные вставляются в таблицу с помощью импорта sProc, я запускаю другие процедуры для обновления другой таблицы с импортированной таблицей.
Процедура обновления генерирует исключение, если оно создано с SET QUOTED_IDENTIFIER OFF. Я хотел бы понять, почему это происходит.
Здесь код:
DECLARE @xmlRecords XML
SET @xmlRecords = (SELECT importedXML FROM importTable WHERE importId = @lastImportId)
UPDATE o
SET o.ReferralCode = import.refCode
FROM (
SELECT records.record.value('(@orderId)[1]', 'INT') AS orderId,
records.record.value('(@refCode)[1]', 'VARCHAR(15)') AS refCode
FROM @xmlRecords.nodes('/records/record') records(record)
) import
INNER JOIN tblOrder o ON import.OrderId = o.orderId
Я предполагаю, что это связано с цитируемыми типами данных ('VARCHAR (15)') или элементами пути запроса xml ('/records/record').
Спасибо за любую информацию, которую вы можете предоставить.