1
请帮助我,我为select语句中的所有列获取空值。我已经尝试了很多小的更改,但仍未获得空值。SQL Server中存储过程读取xml中的问题
DECLARE @XML AS XML,@hDoc AS INT, @SQL NVARCHAR (MAX)
SET @XML = N' <Customer>
<CustomerID>4</CustomerID>
<Citycode>BBY</Citycode>
<TitleCode>1</TitleCode>
<AccountTypeCode>SV</AccountTypeCode>
<AccRiskCode>A</AccRiskCode>
<BankBranchCode>BAU001</BankBranchCode>
</Customer>'
EXEC sp_xml_preparedocument @hDoc OUTPUT, @XML
SELECT
CustomerID, Citycode, TitleCode, AccountTypeCode, AccRiskCode, BankBranchCode
FROM OPENXML(@hDoc, 'Customer')
WITH
(
CustomerID int '@CustomerID',
Citycode [varchar](10) '@Citycode',
TitleCode int '@TitleCode',
AccountTypeCode varchar(4) '@AccountTypeCode',
AccRiskCode varchar(4) '@AccRiskCode',
BankBranchCode varchar(10) '@BankBranchCode'
)
EXEC sp_xml_removedocument @hDoc
GO
你映射具有属性但不包含元素的列,只需删除映射名称前面的所有“@”(“@ CustomerID”应该是只是'CustomerID'),那么它工作正常。 –