SQL 更新自 XML 总是 return 空
SQL Update From XML always return null
我有点问题,我从 Internet 上获得了这段代码,我对其进行了修改以供自己使用。我 运行 样本,它工作正常,没问题。在我为我的程序更改它之后,它没有显示任何错误,只有 0 行受到影响。结果,xml 列 return nothing.I 希望得到一些提示。
declare @input XML
set @input = '<?xml version="1.0" standalone="yes"?>
<NewDataSet>
<CurrencyTransact>
<BCurrencyCode>USD</BCurrencyCode>
<StockBalance>18000.00</StockBalance>
</CurrencyTransact>
<CurrencyTransact>
<BCurrencyCode>MYR</BCurrencyCode>
<StockBalance>30000.00</StockBalance>
</CurrencyTransact>
'
;with GrabXML AS
(
select
CurrencyBal.value('@BCurrencyCode', 'varchar(10)') as 'BCurrencyCode',
CurrencyBal.value('@StockBalance', 'decimal(18,2)') as 'StockBalance'
from
@input.nodes('/NewDataSet/CurrencyTransact') as n(CurrencyBal)
)
update dbo.Currency
set StockBalance = g.StockBalance
from GrabXML g
where dbo.Currency.CurrencyCode = g.BCurrencyCode
我只是修改了这一行使其works.Problem解决了!
CurrencyBal.value('(BCurrencyCode)[1]', 'varchar(10)') as 'BCurrencyCode',
CurrencyBal.value('(StockBalance)[1]', 'decimal(18,2)') as 'StockBalance'
我有点问题,我从 Internet 上获得了这段代码,我对其进行了修改以供自己使用。我 运行 样本,它工作正常,没问题。在我为我的程序更改它之后,它没有显示任何错误,只有 0 行受到影响。结果,xml 列 return nothing.I 希望得到一些提示。
declare @input XML
set @input = '<?xml version="1.0" standalone="yes"?>
<NewDataSet>
<CurrencyTransact>
<BCurrencyCode>USD</BCurrencyCode>
<StockBalance>18000.00</StockBalance>
</CurrencyTransact>
<CurrencyTransact>
<BCurrencyCode>MYR</BCurrencyCode>
<StockBalance>30000.00</StockBalance>
</CurrencyTransact>
'
;with GrabXML AS
(
select
CurrencyBal.value('@BCurrencyCode', 'varchar(10)') as 'BCurrencyCode',
CurrencyBal.value('@StockBalance', 'decimal(18,2)') as 'StockBalance'
from
@input.nodes('/NewDataSet/CurrencyTransact') as n(CurrencyBal)
)
update dbo.Currency
set StockBalance = g.StockBalance
from GrabXML g
where dbo.Currency.CurrencyCode = g.BCurrencyCode
我只是修改了这一行使其works.Problem解决了!
CurrencyBal.value('(BCurrencyCode)[1]', 'varchar(10)') as 'BCurrencyCode',
CurrencyBal.value('(StockBalance)[1]', 'decimal(18,2)') as 'StockBalance'