Tài liệu Truy vấn dữ liệu XML từ một bảng với kiểu dữ liệu XML - Pdf 10

Truy vấn dữ liệu XML từ một bảng với kiểu dữ liệu XML
Ngu

n:quantrimang.com
Mục đích của bài này nhằm hướng dẫn các quản trị viên cơ sở dữ liệu Microsoft
SQL Server trong việc:

• Tạo giản đồ XML (XML Shema).
• Tạo một bảng với kiểu dữ liệu XML.
• Nhập file XML vào bảng với kiểu dữ liệu XML.
• Truy vấn file XML.
• Truy vấn file XML và đưa ra kết quả, tương tự như kết quả trả ra từ các lệnh
Transact SQL Statement.

Bước 1Đầu tiên, tạo một file C:\XML\Customer1.XML như bên dưới. File XML này chứa
dữ liệu liên quan đến một khách hàng.
<?xml version="1.0" standalone="yes"?>
<Customer>
<CustomerLogInfo>
<Date>2007-03-31T06:40:38.0000000-05:00</Date>
<user>james.brewer</user>
<Userid>1AE</Userid>
<ls>A-Accessible</ls>
<eqtid>761</eqtid>
<es>Stopped</es>
<tp>30</tp>
</CustomerLogInfo>
<CustomerLogInfo>

go
use XMLTest
go
Create XML Schema Collection XMLTrack
as
N'<xs:schema
attributeFormDefault="unqualified"
elementFormDefault="qualified"
xmlns:xs="
<xs:element name="Customer">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="CustomerLogInfo">
<xs:complexType>
<xs:sequence>
<xs:element name="Date" type="xs:string" />
<xs:element name="user" type="xs:string" />
<xs:element name="Userid" type="xs:string" />
<xs:element name="ls" type="xs:string" />
<xs:element name="eqtid" type="xs:string" />
<xs:element name="es" type="xs:string" />
<xs:element name="tp" type="xs:int" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>'
go

liệu
XML.

Bước 5

Truy vấn bảng XMLFiles, sử dụng các thao tác SQL như bên dưới:
USE [XMLTest]
go
select * from XMLFiles where FileId=1
go
Lệnh này sẽ đưa ra các kết quả sau:

Hình 1.0
Khi kích chuột lên dữ liệu, nó cũng hiển thị dữ liệu XML (Hình 1.1).
<Customer>
<CustomerLogInfo>
<Date>2007-03-31T06:40:38.0000000-05:00</Date>
<user>james.brewer</user>
<Userid>1AE</Userid>
<ls>A-Accessible</ls>
<eqtid>761</eqtid>
<es>Stopped</es>
<tp>30</tp>
</CustomerLogInfo>
<CustomerLogInfo>
<Date>2007-03-31T06:40:38.0000000-05:00</Date>
<user>james.brewer</user>
<Userid>1AE</Userid>
<ls>Not-Accessible</ls>
<eqtid>870</eqtid>

Chương trình sẽ cho kết quả như Hình 1.2:
Date,User,Userid,ls,eqtid,es,tp
2007-03-31T06:40:38.0000000-05:00,james.brewer,1AE,A-
Accessible,761,Stopped,30
2007-03-31T06:40:38.0000000-05:00,james.brewer,1AE,Not-
Accessible,870,Stopped,30
2007-03-31T06:40:38.0000000-05:00,james.brewer,1AE,A-
Accessible,97F,Started,30

Hình 1.2
Bước 7

Bây giờ lặp lại bước 4 và nhập lại dữ liệu.
USE [XMLTest]
go
INSERT INTO XMLFiles(Filename,DATA)
SELECT 'Customer1' a,*
FROM OPENROWSET( BULK 'C:\XML\Customer1.xml' ,SINGLE_CLOB)
as mytable
go
Bước 8

Truy vấn bảng như bên dưới:
USE [XMLTest]
go
select * from XMLFiles
go
Kết quả là:

Hình 1.3

Accessible,761,Stopped,30
2007-03-31T06:40:38.0000000-05:00,james.brewer,1AE,Not-
Accessible,870,Stopped,30
2007-03-31T06:40:38.0000000-05:00,james.brewer,1AE,A-
Accessible,97F,Started,30
2007-03-31T06:40:38.0000000-05:00,james.brewer,1AE,A-
Accessible,761,Stopped,30
2007-03-31T06:40:38.0000000-05:00,james.brewer,1AE,Not-
Accessible,870,Stopped,30
2007-03-31T06:40:38.0000000-05:00,james.brewer,1AE,A-
Accessible,97F,Started,30
Chú ý: Nếu bạn đang có kế hoạch hiển thị tất cả dữ liệu từ từng hàng có kiểu dữ
liệu XML, bạn có thể tạo một thủ tục lưu trữ với bảng tạm thời hoặc con trỏ…

Hình 1.4
Kết luận

Bài này minh hoạ cho các bạn cách tạo mộ
t XML Schema, tạo một bảng với kiểu
dữ liệu XML, nhập file XML vào bảng với kiểu dữ liệu XML, truy vấn file XML và
đưa ra kết quả tương tự như tập hợp kết quả thực hiện bởi các lệnh SQL
Transact.


Nhờ tải bản gốc
Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status