Có ai có thể cung cấp thông tin chi tiết về điều này không?Loại dữ liệu XML của Máy chủ SQL và QUOTED_IDENTIFIER
Tôi đã phát triển quy trình nhập bằng cách sử dụng loại dữ liệu XML. Sau khi dữ liệu được chèn vào một bảng bằng cách nhập khẩu sProc, tôi chạy một thủ tục khác để cập nhật một bảng khác với bảng đã nhập.
Quy trình cập nhật sẽ ném ngoại lệ nếu được tạo bằng SET QUOTED_IDENTIFIER OFF. Tôi muốn hiểu tại sao điều đó lại xảy ra.
Dưới đây là các mã:
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
Tôi giả định nó đã làm với các kiểu dữ liệu trích dẫn ('VARCHAR (15)') hoặc các yếu tố con đường truy vấn xml ('/ hồ sơ/kỷ lục').
Cảm ơn bạn đã có bất kỳ thông tin chi tiết nào bạn có thể cung cấp.
Cảm ơn rất nhiều, Martin. Msg 1934 chính xác là thông điệp tôi đã nhận được trong kịch bản của tôi. Tôi sẽ xem lại tài liệu. Đó là yên tâm để biết rằng đây thực sự là hành vi mong đợi. Cảm ơn một lần nữa. –