4
다음 스크립트를 사용하여 일부 XML에서 JobID 특성을 가져 오려고합니다. 이 작업을 수행하는 더 좋은 방법이 있습니까?SQL Server의 XML 문서에서 단일 XML 특성을 반환하는 방법은 무엇입니까?
PROCEDURE [dbo].[spProcessJobXML]
@XMLPACKET as nvarchar(MAX) --<Root><Job JobID='2'></Root>
AS
-- Declare XML doc handle
declare @docHandle int
Declare @jobid nvarchar(3);
Declare @parentid int;
declare @testInt int;
-- Create XML Doc
exec sp_xml_preparedocument @docHandle OUTPUT, @XMLPACKET
if exists (
SELECT * FROM tempdb.sys.tables WHERE [name] like '#tempTable%'
)
DROP TABLE tempdb.#tempTable;
SELECT * INTO #tempTable FROM OPENXML (@docHandle, '/Root/Job')
Select top 1 @parentid = #tempTable.id from #tempTable where #tempTable.localname like 'JobID';
--select * from #tempTable;
Select top 1 @jobid = #tempTable.[text] from #tempTable where #tempTable.parentid = @parentid;
SET @testInt = CAST(@jobid AS int)
감사