Click here to Skip to main content
11,493,391 members (61,169 online)
Rate this: bad
good
Please Sign up or sign in to vote.
See more: SQL-Server-2008
I Have a data in XML.Now i insert that Data into SQL DB. IN my Table one of the col is Doc_No(Unique Key ).

Now my question is
IF EXISTS (DOC_NO IS present in DB)
  
 Not inserted
 
Else
 Inserted

How to check the if condition can any one help me

I wrote like this

IF EXISTS(SELECT DOC_NO FROM TABLE_NAME WHERE DOC_NO=_____)
In blank i want xml Doc_no, how to do this can any one help me to do this

Thanks in advance
Posted 4-Sep-12 4:23am

1 solution

Rate this: bad
good
Please Sign up or sign in to vote.

Solution 1

Hi,


Try


IF EXISTS(SELECT DOC_NO FROM TABLE_NAME WHERE DOC_NO=(
SELECT 
[xmlField].value('(/person//firstName/node())[1]', 'nvarchar(max)') as FirstName
FROM [myTable] )


My xml here has the below structure and iam trying to get 'abc' value.
<person>
<firstname>
abc
</firstName>
</person>



Hope this helps.
  Permalink  
v3
Comments
manognya kota at 4-Sep-12 9:49am
   
xmlfield is the alias of your xml.In that we are selecting traversing till the node where we need the data.In the above example i need data in node firstname,which is in person tag.The data type is a string, so nvarchar and has no limit.So i used max.

Please refer this link for an example for how to access the fields of xml.
http://blog.sqlauthority.com/2009/02/13/sql-server-simple-example-of-reading-xml-file-using-t-sql/

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

  Print Answers RSS
0 Sergey Alexandrovich Kryukov 419
1 Maciej Los 286
2 F-ES Sitecore 224
3 KarstenK 210
4 CPallini 208
0 Sergey Alexandrovich Kryukov 10,132
1 OriginalGriff 8,630
2 Sascha Lefèvre 3,624
3 Maciej Los 3,392
4 Richard Deeming 2,500


Advertise | Privacy | Mobile
Web04 | 2.8.150520.1 | Last Updated 4 Sep 2012
Copyright © CodeProject, 1999-2015
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100