none
Выборка по содержимому столбца типа XML RRS feed

  • Вопрос

  • У меня в SQL Server 2005 есть таблица с полем типа XML. Создаётся примерно так:
    CREATE TABLE Commands(
    text xml (DOCUMENT CommandsSchema) NOT NULL
    )
    Схема объявлена в пространстве имён, и XML-документы имеют содержимое в этом же пространстве имён. Как мне в SQL запросах делать проверки по содержимому этих полей или выбирать часть документов? Например, я пробовал делать так:
    select text.query('/Commands/ListMessages') from Commands;
    select text from Commands where text.query('/Commands/ListMessages@increment') = 1
    но сервер говорит "XQuery [Commands.text.query()]: There is no element named 'Commands'". Видимо, надо как-то указывать само пространство имён в запросах? Где можно об этом почитать?
    • Перемещено I.Vorontsov 1 декабря 2009 г. 9:18 (От:Сообщество SQLClub.ru)
    • Перемещено Tagore Bandlamudi 2 октября 2010 г. 0:18 MSDN Forums consolidation (От:SQL Server для разработчиков)
    18 сентября 2009 г. 17:03

Ответы

  • Вот полная русскоязычная документация построение XML (XQuery):
    http://msdn.microsoft.com/ru-ru/library/ms189928.aspx

    Добавление пространств имён:
    http://msdn.microsoft.com/ru-ru/library/ms177400.aspx

    Что касается вашей статической ошибки:
    http://msdn.microsoft.com/ru-ru/library/ms186997.aspx
    • Предложено в качестве ответа I.Vorontsov 19 сентября 2009 г. 6:53
    • Помечено в качестве ответа Димариус 19 сентября 2009 г. 9:21
    19 сентября 2009 г. 6:49

Все ответы