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

Вниз

Вопрос по написанию хранимых процедур   Найти похожие ветки 

 
AndrewK ©   (2002-04-16 16:47) [0]

Уважаемые мастера, подскажите как можно реализовать с помощью хранимой процедуры следующую задачку. Есть некоторая выборка из группы таблиц. Есть параметры отображения на эту выборку, например, отфильтровать записи, показать не все поля и т.д. Клиентское приложение работает с хранимой процедурой, которой в качестве парметров передаются эти данные. В зависимости от этих данных надо поменять запрос к базе в процедуре.
Сейчас остановился на том, что для каждой возможной вариации пишу свой запрос а в процедуре развожу их операторами if ... else. Процедура, прямо скажем, глаз уже не радует. Можно ли как-нибудь сделать так, чтобы в зависимости от параметров можно было конструировать запрос один раз? Например что-то вроде такой конструкции (вопрос скорее по синтаксису написания хранимых процедур):

create procedure MyProc @ID int


select
*
from
Tabl

if (@ID = 1) begin
where
....

end

Процедура должна вернуть выборку из всех элементов если @ID<>1, и отфильтровать записи если @ID=1.

Возможно ли такое?


 
DPetrovich ©   (2002-04-16 17:04) [1]

Можно, например, написать так
select * from Tabl where ((@ID<>1) or (@ID=1 and ....))


 
roottim   (2002-04-16 17:10) [2]

yнепонятна формулировка но.. мб
if @id != 1 then
select * from ...
else
select * from .. where

2DPetrovich © (16.04.02 17:04)
@id это параметр а не поле, а если и поле то будет НД состоять из ид=1 и +те картежи которые подойдут по 2-му усл!



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

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

Наверх




Память: 0.47 MB
Время: 0.019 c
1-26076
SPeller
2002-04-26 12:00
2002.05.09
Лимит в INI файле


3-25976
Виктор5
2002-04-13 10:38
2002.05.09
Знатоки, как вывести в случайном порядке записи из БД в DBGrid


3-25977
Cage
2002-04-14 16:45
2002.05.09
База данных на е.


1-26096
bobr12
2002-04-26 15:44
2002.05.09
Могут ли недоступные в данный момент компоненты получить фокус?


1-26125
ruslan_as
2002-04-24 10:07
2002.05.09
цикл