Программирование >>  Реализация баз данных 

1 ... 76 77 78 [ 79 ] 80 81 82 ... 162


Объявление схемы

Дл ации набора строк OPENXML необходимо предоставить схему набора )..к Ее задают посредством необязательной конструкции одним из приведенных далее спо-

собов.

Задают полную схему с помощью конструкции WITH. Задавая схему набора строк, указывают имена столбцов, их типы данных и сведения об их соответствии элементам документа XML. Можно задать структуру нолей (средствами параметра ColPattem в объявлении схемы). Заданная структура полей используется для определения поля набора строк, соответствующею идентифицированному структурой нолей узлу XML, а также для определения типа соответствия. Если для столбца не задан параметр Pattern, то столбец набора строк будет соответствовать узлМЬ с тем же именем, в зависимости от типа соответствия, заданного етром flags. Однако, если параметр

указан как часть объявления схемы в конструкции WITH, он заменяет соответствие, заданное flags.

Задают имя существующей таблицы в конструкции WITH. Разрешается просто задать имя сушествующей таблицы, схема которой используется OPENXML для генерации

набора строк.

Отказгваются от использования конструкции WITH. В этом случае NXM L воз-врашает набор строк в формате таблицы срезов. Результат называется таблицей срезов, поскольку при использовании этого формата каждый срез в дереве

ного документа XML соответствует строке набора строк.

Имя таблицы

Если уже существует таблица, схему которой можно использовать, и задавать полей не нужно, то вместо объявления схемы предоставляют имя этой таблицы.

Упражнение 4. Извлечение данных XML

В этом упражнении вы извлечете данные в формате XML с помощью конструкции FOR XML, а также воспользуетесь функцией OPENXML, чтобы получить

данные XML. Чтобы выполнить это упражнение, необходимо зарегистрироваться в качестве администратора на компьютере под управлением Windows 2000 Server.

► Как извлечь даннге с помощью конструкции FOR XML

1. Откройте Query Analyzer и подключитесь к локальному серверу.

2. Щелкните на панели инструментов кнопку Execute Mode, а затем - параметр Results In Text.

С этим параметром удобнее просматривать результирующий набор.

3. На панели Editor в окне Query введите следующий код Transact-SQL: USE Northwind

SELECT CustomerlD, ContactName. CompanyName FROM Customers

WHERE (CustomerlD = NALFKr OR CustomerlD = NXYZAA ) ORDER CustomerlD FOR XML RAW

Здесь для получения данных в формате используется конструкция FOR XML, в

которой задан режим RAW.



230 Управление н мзнипглироаание данными Гяава ?

4. Исполните оператор Transact-SQL.

На вкладке Results панели Results отображается результирующий набор. Обратите внимание, что он отличается от типичного результирующего набора оператора SELECT без конструкции FOR ХМ L.

► Как извлеч XML пьт функции OPENXML

L На панели Editor в окне Quer ите следующий код Transact-SQL:

DECLARE Do с INT

EXEC sp xml preparedocunient ©TestDoc OUTPUT, N4R00T>

<Employees EiiipID= 1234 F:ratNaf4e= Ethan

Dept= Marketing > </Employees>

<Einployees E(npID= 1943 FirsTNarrie= Linda Dept- fiesearch > </E!nployees>

В этом элементе объявляется переменная @TestDoc и вызывается системная хранимая процедура paredocument для синтаксического анализа данных XML. -2. Добавьте к концу предыдущей программы следующий код на Transact-SQL:

SELECT

FROM OPENXML(@TestD.oc, N/ROOT/Eniplovees) WITH {ErapID NCHAR(5) ./ёЕтрНУ,

FirstName VARCHAR(50) ./(BFlrstNam.e.,

Dept VARCHARdO) ./§Qe-n)

В этом операторе SELECT результирующий набор, который должен вернуть

оператор. Для извлечения данных XML применяется функция OPENXML. Обратите внимание на использование шетюй @TestDoc.

3. Добавьте к концу предыдущей программы следующий код на Transact-SQL:

EXEC sp x(TiI removedocumerit @TstDoc - .

Этот оператор удаляет из памяти внутреннее представление XML-докуменга.

4. Исполните все четыре оператора (DECLARE, EXE aredocument, SELECT и EXEC sp xml removedocument).

Ha вкладке Results панели Results pane отобразится результирующий набор.

5. Закройте Query Analyzer.



Занятие 4 Изкпеиие даннык XML 231

Резюме

XML - гипертекстовый язык программирования, который используется для описания содержимого совокупности данных и способа вывода данных на различные устройства или их отображения на Web-странице. В SQL Server 2000 входит множество функций для цоддерж-ки XML. При исполнении к реляционным базам данных мож-

но получать результаты в виде документов ХМ L, а не стандартного набора строк. Для этого применяют конструкцию FOR XML оператора SELECT. В этой конструкции следует задать один из режимов XML; RAW, AUTO или EXPLICIT. Функция OPENXML - это ключевое слово языка которое предоставляет набор строк, сформированный на основе

документов ХМЕ, хранящихся в памяти. Функция OPENXML обеспечивает доступ к тм-ным XML, как если бы они реляционными наборами строк. Для этого на основе внутренней структуры документа XML формируется представление в виде набора строк. Функцию OPENXML можно использовать в любых операторах SELECT или SELECT INTO, где

в качестве источника выступает таблица, представление или функция OPENROWSET.



1 ... 76 77 78 [ 79 ] 80 81 82 ... 162

© 2006 - 2025 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика