Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2005.12.04;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.036 c
3-1129726137
DancerMan
2005-10-19 16:48
2005.12.04
Удаление из *.dbf


2-1131956406
Asail
2005-11-14 11:20
2005.12.04
Глюк Delphi 7 под HypherThreating...


14-1131431975
Shopot
2005-11-08 09:39
2005.12.04
Рисование в Delphi.


2-1131916842
Muh
2005-11-14 00:20
2005.12.04
Как создать папку..не файл, а папку!!


1-1131109482
ViRuSS
2005-11-04 16:04
2005.12.04
Отобразить японские иероглифы





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский