SQL 2005: A Sample of Using XQuery
XQuery is a new language for querying XML data that allows navigational access based on XPath 2.0. Today I would like to give you
a very simple XQuery sample. In this sample I will show you how to pass multi-valued parameter to a stored procedure. The stored
procedure uses XQuery to get a list of values passed in.
-- create a table
CREATE TABLE [dbo].[student](
[id] [int] NOT NULL,
[name] [nvarchar](50),
[ssn] [varchar](11),
CONSTRAINT [PK_student] PRIMARY KEY CLUSTERED
(
[id] ASC
) ON [PRIMARY]
GO
-- add a few rows for testing
INSERT student VALUES(1, 'andrew', '201-98-9238')
INSERT student VALUES(2, 'lindsay', '656-89-9238')
INSERT student VALUES(3, 'david', '555-22-1111')
GO
-- create a stored procedure
CREATE PROCEDURE get_students
(
@ids AS XML
)
AS
BEGIN
SELECT *
FROM student
WHERE id IN (SELECT xref.value('.', 'int') FROM @ids.nodes('/root/id') R(xref))
END
-- call the stored procedure passing in an xml parameter node
DECLARE @ids xml
SET @ids =
'<root>
<id>1</id>
<id>3</id>
</root>'
EXEC get_students @ids
XQuery implemented in SQL 2005 has opened a whole new world for T-SQL programming.
SQL: Use Dynamic SQL Query Correctly
SQL 2005: Use DMV and CROSS APPLY to Get Cached Plans
SQL 2005: Discontinued or Deprecated Features in SQL Server 2005
SQL 2005: Default Trace Enabled Option
SQL 2005: Column Level Permissions
SQL 2005: SQLCMD Supports Parameterized Variables and Macro Features
SQL 2005: DTS Has Become SSIS now
SQL 2005: Microsoft SQL Server 2005 JDBC Driver
SQL 2005: Query Notifications in ADO.Net 2.0
SQL 2005: Overcome SQL Index Size Limit
SQL 2005: DDL Triggers
SQL 2005: Why Should Use 64 Bit Now
SQL 2005: How to Rebuild The Master Database
SQL 2005: A Little Trick to Install SQL 2005 Onto Your Dirty DEV Machine
SQL 2005: New Resource Database
SQL 2005: Alter Index Rebuild
SQL 2005: XQuery Sample
SQL 2005: How to Move Database
SQL: Use COALESCE to Generate a List
SQL: How to Debug SQL Deadlocks
.Net: How to Bypass Strong Name Check
Agile: Lean Software Development - An Agile Toolkit
ORM: How to Use nHibernate 1.2 to Call Stored Procedure to Return a Dataset Without a Mapping Entity
AJAX: ASP.NET AJAX Tips
.Net: Debugging Commands
.Net: How to Run NUnit And Debug Your Test Fixtures Directly from VS 2005
.Net: How to Add Domain User to Local Group
.Net: Lock Value Type?
.Net: How to Create an Instance of a Generic Type with Parameters
.Net: How to Get Address of a Managed Type
ORM: New Features of nHibernate 1.2
.Net: How to Get System Error Message from HRESULT in Managed Code
.Net: Use Windows PowerShell Now
WMI: Use WMI to Run Commands on Remote Machine
API: GetLogicalProcessorInformation to Detect CPUs
.Net: How to Implement Singleton Correctly
.Net: There is no MTS object context (Exception from HRESULT: 0x8004E004)
.Net: The Net Objectives Pattern Repository
Web: Access Denied When ASP.Net Accesses Eventlog
Nant: Error Loading GUID of Project
AJAX: Ajax in Action
DTC: DtcGetTransactionManager Fails
.Net: Run .Net 1.1 COM+ Serviced Components Under .Net 2.0 Framework
.Net: Debugging Managed Code Tip
.Net: Assembly Binding Log Viewer (Fuslogvw.exe)
.Net: .Net Framework Design Guidelines
.Net: Use Global Catalog and CheckTokenMembership to Check AD Group Membership
THIS POST IS PROVIDED "AS-IS" WITH NO WARRANTIES AND CONFERS NO RIGHTS. Build time: Sun 03/30/2008
. ©2007 Dalun Software. All rights reserved. Back to Article List