|
Программирование >> Реализация баз данных
Объявление схемы Дл ации набора строк 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.
|
© 2006 - 2025 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |