PDA

View Full Version : نحوه گرفتن مقدار از xml در sql



shinsinbin@yahoo.com
سه شنبه 07 مهر 1394, 15:38 عصر
باسلام
در پروسیجری مقداری را در متغییری که از نوع varchar(8000) است بصورت xml دریافت میکنم در این متغییر اطلاعاتی شامل نام و نام خانوادگی و تاریخ تولد ونام پدر بصورت xml قرار دارد که می خواهم در خود پروسیجر مقادیر نام و نام خانوادگی را جدا جدا دریافت کنم/یعنی بصورت xml نباشد-مثلا در Declare FirstName nvarchar(15) فقط مقدار نام را قرار دهم
لطفا راهنمایی کنید چطور می توانم اینکار را انجام دهم
محتوای متغییر varchar(8000) را در فایلی ذخیره کرده ام و پیوست کرده
باتشکر

mahyarfaq
سه شنبه 14 مهر 1394, 14:18 عصر
برای جدا سازی مقادیر xml و قراردادن در جدول اصلی (یا جدول temp) میتوانید از دستورات زیر استفاده کنید:

DECLARE @idoc int

EXEC sp_xml_preparedocument @idoc OUTPUT,N'مقدار ایکس ام ال'


INSERT INTO TBRel01(فیلد های جدولی که میخواهیم مقادیر در آن قرار بگیرند)

SELECT *
FROM OPENXML (@idoc, '/شاخه ای که اطلاعات آن را میخواهیم')
WITH (فیلدهایی که لازم داریم
)

EXEC sp_xml_removedocument @idoc;