これまでにこれまでに答えられていると確信していますが、答えを見つけるための正しい命名法が見つかりません。SQL Server 2008でXMLと共に定数/変数を挿入する
基本的に、私は2列、データ型int今
の両方で非常に単純なテーブルを持って、私はそうXMLを通じて提供されているいずれかの列を持つテーブルにn個のレコードを挿入しようとしています:定数値@ProcedureID
とともに
<Data>
<DepartmentID>{x}</DepartmentID>
</Data>
は、ストアドプロシージャに変数として渡されています。
私は次のことをやろうとしている:
EXEC sp_xml_preparedocument @Handle OUTPUT, @Tags
INSERT INTO Accounting.DepartmentProcedure
(ProcedureID,DepartmentID)
SELECT @ProcedureID,DepartmentID
FROM OPENXML(@Handle,'/Data/DepartmentID',2) WITH (DepartmentID int)
上記は罰金解析し、それを実行すると、私に次のエラーを与える:
Msg 515, Level 16, State 2, Line 7
Cannot insert the value NULL into column 'DepartmentID', table 'RCH.Accounting.DepartmentProcedure'; column does not allow nulls. INSERT fails.
私の人生のために、私は」することができますこの問題に対処する方法を理解していない。
DECLARE @input XML = '<Data>
<DepartmentID>{x}</DepartmentID>
</Data>'
INSERT INTO
dbo.Accounting.DepartmentProcedure(ProcedureID, DepartmentID)
SELECT
@ProcedureID,
@input.value('(/Data/DepartmentID)[1]', 'int')
これはDepartmentID
列にXMLから抽出された<DepartmentID>
の値を挿入します。私は、SQL ServerでのXQuery組み込み機能を使用することになり、事前
賞賛の男を読むためにここに行く、あなたがのためにすべての参照を提案できるのXQuery機能が組み込まれて? –
@MustafaIsmailMustafa:答えには2つのリンクがあります。これらは良い出発点です。それ以外の場合:MSDN上で「XQuery」を検索します。 –