シリアル化されたコレクション(XML)をストアドプロシージャに渡します。XMLからデータをフェッチしてデータベーステーブルを更新する方法
<ArrayofDepartmentEntity>
<Department>
<id>1004</id>
<budget>2500.oo</budget>
</Department>
<Department>
<id>1080</id>
<budget>3500.oo</budget>
</Department>
<Department>
<id>1029</id>
<budget>4500.00</budget>
</Department>
</ArrayofDepartmentEntity>
がどのように私は部門IDが上記のXMLであり、対応する予算の列を更新することができますが - 私のXML構造??は、どのような本体でもSQL構文を書き留めることができます。
ALTER PROCEDURE [dbo].[usp_SaveDepartentBudget] (
@departmentBudgetXML ntext = NULL
)
AS
BEGIN
DECLARE @ptrHandle int
EXEC sp_xml_preparedocument @ptrHandle OUTPUT, @departmentBudgetXML
....Here I want to update Budget foreach departmentID in @departmentBudgetXML
を更新するためのコードである - そして、なぜあなたはあなたのストアドプロシージャのパラメータ 'NTEXT'を作るのですが? 'NTEXT'は廃止されました - もう使用しないでください!代わりに 'NVARCHAR(MAX)'を使用してください。 XMLなら 'XML'を使う! –