Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.12.04;
Скачать: CL | DM;

Вниз

Select к хранимой процедуре.   Найти похожие ветки 

 
Карелин Артем ©   (2005-10-20 15:07) [0]

Стоит такая задача: выбрать из хранимой процедуры удовлетворяющие определенным условиям записи. В Firebird для этих целей можно не заморачиваясь написать select <имя процедуры>, where <условие>.
В MS SQL 2000 такой номер не проходит, в SQL Books online ничего на эту тему не нашел.
Как отсеять ненужные данные из хранимой процедуры? Использовать фильтр как-то кисло.


 
Seg   (2005-10-20 15:10) [1]

А почему бы не передать параметр внутрь процедуры?


 
Карелин Артем ©   (2005-10-20 15:19) [2]

Не подходит.


 
stone ©   (2005-10-20 15:23) [3]

Получить данные из процедуры во временную таблицу.
Выбрать из нее то, что нужно.


 
Seg   (2005-10-20 15:31) [4]

Получить данные из процедуры во временную таблицу.
Выбрать из нее то, что нужно.


А фильтрация чем от этого способа отличается?


 
stone ©   (2005-10-20 15:36) [5]


> Seg   (20.10.05 15:31) [4]
> Получить данные из процедуры во временную таблицу.
> Выбрать из нее то, что нужно.
>
> А фильтрация чем от этого способа отличается?

При использовании фильтра ты получаешь данные на клиента, а так работашь с объектами сервера


 
Карелин Артем ©   (2005-10-20 15:40) [6]


> stone ©   (20.10.05 15:23) [3]

Насколько я понимаю, перед этим надо еще и создать таблицу, повторяющую по структуре хранимую процедуру, потому как для создания таблицы на основе набора данных надо использовать запрос типа Select Into, тогда как для процедур можно использовать только Insert into ... execute.
Это получается еще хуже.
Поправьте меня обязательно, если не прав, ибо новичок я в MS SQL.


 
Nikolay M. ©   (2005-10-20 15:43) [7]

http://delphimaster.net/view/3-1129642686/


 
Seg   (2005-10-20 15:44) [8]

Фильтрация на клиенте в этом случае выглядит более привлекательно, особенно на небольшом объеме данных.


 
evvcom ©   (2005-10-20 16:03) [9]


> Карелин Артем ©   (20.10.05 15:19) [2]
> Не подходит.

А аргументы?


 
Карелин Артем ©   (2005-10-20 17:34) [10]


> evvcom ©   (20.10.05 16:03) [9]

зачем?


 
evvcom ©   (2005-10-21 09:02) [11]


> Карелин Артем ©   (20.10.05 17:34) [10]
>
> > evvcom ©   (20.10.05 16:03) [9]
>
> зачем?

Что зачем? Зачем аргументировать свой ответ? А зачем тебе наш ответ?


 
Карелин Артем ©   (2005-10-21 09:19) [12]


> evvcom ©   (21.10.05 09:02) [11]


> Что зачем? Зачем аргументировать свой ответ? А зачем тебе
> наш ответ?

Если бы ты пришел в салон за машиной, а тебе упорно предлагали бы катер вместо того, что тебе надо, ты стал бы развернуто аргументировать свой отказ?
Мне нужен ответ на мой вопрос. Не всегда возможно/удобно писать запросы в виде чисто хранимой логики или клиентских запросов.


 
ЮЮ ©   (2005-10-21 09:58) [13]

В MS SQL 2000 можно писать
 select * FROM <имя UDF> ... where <условие>.

Более того, можно даже так:

 select ...
 FROM
   <имя UDF> p
   JOIN <имя таблицы> t ON p.<поле> = t.<поле>
 where <условие>.


 
Карелин Артем ©   (2005-10-21 10:13) [14]


> ЮЮ ©   (21.10.05 09:58) [13]
Точно. То, что в FB называется хранимой процедурой, в MS SQL называется функцией.


 
stone ©   (2005-10-21 10:16) [15]


> Мне нужен ответ на мой вопрос. Не всегда возможно/удобно
> писать запросы в виде чисто хранимой логики или клиентских
> запросов.

Так ты его получил. Варианта 2:
1. Пользоваться временными таблицами, (кстати очень гибкий инструмент)
2. Пользоваться Multi-Scalar функциями


 
Ega23 ©   (2005-10-21 10:19) [16]

Вреенная таблица. Насчёт функции - тут надо осторожно, т.к. лично я знаю множество контор, которые как работали на MS SQL 7, так и не собираются с него уходить. А там функции не поддерживаются...



Страницы: 1 вся ветка

Текущий архив: 2005.12.04;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.049 c
1-1130909161
snowkam
2005-11-02 08:26
2005.12.04
dll! как заставить работать незвестную процедуру или функцию?


14-1132137972
pasha_golub
2005-11-16 13:46
2005.12.04
Перевод песни


2-1132216256
Creator__
2005-11-17 11:30
2005.12.04
Глюк Delphi 2005 или я чего-то недопонимаю...


9-1121759996
VasRog
2005-07-19 11:59
2005.12.04
Наложение текстуры на трехмерный объект произвольной формы


14-1131788530
ronyn
2005-11-12 12:42
2005.12.04
Linux