Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Результаты выполнения процедуры.  [new]
ddd45
Guest
Как можно обработать результаты выполнения процедуры. Допустим есть у меня процедура, которая возвращает таблицу, мне её надо дополнительно профильтровать. Как это омжно сделать ?
18 июн 09, 11:50    [7314554]     Ответить | Цитировать Сообщить модератору
 Re: Результаты выполнения процедуры.  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
Сделать вставку в предварительно созданную временную табличку...
Insert умеет работать из Exec.
18 июн 09, 11:55    [7314584]     Ответить | Цитировать Сообщить модератору
 Re: Результаты выполнения процедуры.  [new]
iap
Member

Откуда: Москва
Сообщений: 46975
ddd45
Как можно обработать результаты выполнения процедуры. Допустим есть у меня процедура, которая возвращает таблицу, мне её надо дополнительно профильтровать. Как это омжно сделать ?
Создать таблицу, вставить в неё результат процедуры, выбрать из таблицы нужные записи.

Если не считать приём с OPENROWSET, конечно...
18 июн 09, 11:57    [7314599]     Ответить | Цитировать Сообщить модератору
 Re: Результаты выполнения процедуры.  [new]
ddd45
Guest
А в функции это можно делать ? Когда делаю оычным запросом, всё нормлаьно, когда оформляю этот запрос кк функцию, выдаёться ошибка "Cannot access temporary tables from within a function".
18 июн 09, 12:21    [7314752]     Ответить | Цитировать Сообщить модератору
 Re: Результаты выполнения процедуры.  [new]
iap
Member

Откуда: Москва
Сообщений: 46975
ddd45
А в функции это можно делать ? Когда делаю оычным запросом, всё нормлаьно, когда оформляю этот запрос кк функцию, выдаёться ошибка "Cannot access temporary tables from within a function".
В функциях много чего нельзя. Запрещены любые побочные эффекты.
Временные объекты. Зато можно табличные переменные.

Только выборка, вычисления, возврат результата.
Исключение - вызов extended процедур. Но ESP обещали убрать в одной из следующих версий.
18 июн 09, 12:28    [7314808]     Ответить | Цитировать Сообщить модератору
 Re: Результаты выполнения процедуры.  [new]
ddd45
Guest
автор
В функциях много чего нельзя. Запрещены любые побочные эффекты.
Временные объекты. Зато можно табличные переменные.

Только выборка, вычисления, возврат результата.
Исключение - вызов extended процедур. Но ESP обещали убрать в одной из следующих версий.

В табличную переменую что то не вставляеться, через временую таблицу получилось.
18 июн 09, 12:31    [7314831]     Ответить | Цитировать Сообщить модератору
 Re: Результаты выполнения процедуры.  [new]
iap
Member

Откуда: Москва
Сообщений: 46975
ddd45
автор
В функциях много чего нельзя. Запрещены любые побочные эффекты.
Временные объекты. Зато можно табличные переменные.

Только выборка, вычисления, возврат результата.
Исключение - вызов extended процедур. Но ESP обещали убрать в одной из следующих версий.

В табличную переменую что то не вставляеться, через временую таблицу получилось.
Кажется, начиная с 2005-го и в табличные переменные можно
18 июн 09, 12:38    [7314864]     Ответить | Цитировать Сообщить модератору
 Re: Результаты выполнения процедуры.  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
iap
ddd45
автор
В функциях много чего нельзя. Запрещены любые побочные эффекты.
Временные объекты. Зато можно табличные переменные.

Только выборка, вычисления, возврат результата.
Исключение - вызов extended процедур. Но ESP обещали убрать в одной из следующих версий.

В табличную переменую что то не вставляеться, через временую таблицу получилось.
Кажется, начиная с 2005-го и в табличные переменные можно
+1
18 июн 09, 12:41    [7314887]     Ответить | Цитировать Сообщить модератору
 Re: Результаты выполнения процедуры.  [new]
ddd45
Guest
у нас сервер 2000
18 июн 09, 12:57    [7315026]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить