Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Метод value() (тип данных xml)  [new]
RedBird
Member

Откуда: Москва
Сообщений: 165
Microsoft SQL Server 2005 Express:

Declare 
	@xmlDoc xml,
	@st nvarchar(max),
	@xq nvarchar(max)

Set @xmlDoc = N'<UserName>Test</UserName>'
Set @xq = N'(/UserName)[1]'
Select @xmlDoc.value(@xq, 'nvarchar(max)')
Выдает сообщение:
Аргумент 1 метода типа XML-данных "value" должен быть строковым литералом.
Необходимо, чтобы xml-переменная и XQuery были заранее неизвестны и задавлись как параметры (например в функции).
Как можно обойти данное ограничение?
6 мар 09, 16:44    [6898064]     Ответить | Цитировать Сообщить модератору
 Re: Метод value() (тип данных xml)  [new]
daw
Member

Откуда: Муром -> Москва
Сообщений: 7381

> и XQuery были заранее неизвестны и
> задавлись как параметры (например в функции).
> Как можно обойти данное ограничение?

прямо все целиком xquery? тогда не получится.
в функции, по крайней мере, потому как обход в данном
случае будет один - динамический sql.

Posted via ActualForum NNTP Server 1.4

6 мар 09, 16:51    [6898126]     Ответить | Цитировать Сообщить модератору
 Re: Метод value() (тип данных xml)  [new]
RedBird
Member

Откуда: Москва
Сообщений: 165
daw

прямо все целиком xquery? тогда не получится.
в функции, по крайней мере, потому как обход в данном
случае будет один - динамический sql.

К сожалению в функцию вызов sp_executesql не вставить...

Насколько тяжеловесным будет вызов CLR функции при использовании ее в SELECT для столбца типа xml?
6 мар 09, 17:24    [6898362]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить