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

Вниз

Как правильнее запрос через ADO или хранимка и sp_executeSql   Найти похожие ветки 

 
svv   (2006-07-20 13:41) [0]

Добрый день!!!

Вот какой вопрос:
есть таблица названий городов, с полем del-признак удалеенности строки.
Почти всегда надо запрашивать данные без удаленных, поэтому подумал что правильнее использовать Хранимую процедуру, НО ИНОГДА НАДО ЗАПРАШИВАТЬ ВСЕ ЗАПИСИ и вот тут возник этот вопрос.
А именно - как сделать правильнее, вот кикие виже варинты (указываю все которое придумал):
1. обычный селект через ADOQuery и если надо дописывать WHERE del=0 или не дописывать этого
2. Две хранимки, Get_goroda и get_gorodaall - но этот вариант не нравиться
3. Хранимка с sp_execsql и по значению параметра менять выполняемый запрос
4. ADOQuery  с sp_execsql

Вот. И что выбрать?

ЗЫ Ожидается много пользователей, так что сохранение плана выполнения не так уж и плохо...

Большое Спасибо!


 
stone ©   (2006-07-20 13:57) [1]


> 2. Две хранимки, Get_goroda и get_gorodaall - но этот вариант
> не нравиться

Достаточно одной
create procedure Get_goroda
@Del bit = null
as
select * from goroda where @Del is null or del=@Del

таким образом сможешь получать не только все записи но и по выбору удаленные/не удаленные


 
Ega23 ©   (2006-07-20 13:59) [2]

CREATE PROCEDURE S_ ......
@ActNam varchar(32)="NONE",
       @Del int=-1,
   ...... Остальные параметры

AS
Declare
  @Result int;

Select @ActNam=RTrim(LTrim(UPPER(@ActNam)));
Set @Result=0;

if ActNam="SEL"
begin
  Select * from ....
  where (@Del=-1 or Del=@Del)
end;

FIN:
Set Nocount OFF;
return(@result);
GO


exec S_.... @ActNam="SEL" - вернёт всё
exec S_.... @ActNam="SEL", @Del=0 - вернёт всё, где del=0
exec S_.... @ActNam="SEL", @Del=1 - вернёт всё, где del=1


 
svv   (2006-07-20 14:23) [3]

2: stone
Спасибо!!!! Что-то я не сообразил...
Что-то такое и надо было!



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

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

Наверх




Память: 0.47 MB
Время: 0.058 c
1-1155283897
vamp_avp
2006-08-11 12:11
2006.09.24
Эмуляция нажатия клавиши в неактивном сонсольном приложении


15-1157058254
!_SM_!
2006-09-01 01:04
2006.09.24
BTN%Copy%1 BTN%Copy%2


4-1148363826
voe
2006-05-23 09:57
2006.09.24
Нажатие клавиши в чужом приложении!


15-1157294188
Konstantin555
2006-09-03 18:36
2006.09.24
Где можно узнать - что обозначают %3A,%2F.... в HTML?


3-1153385859
Mintos
2006-07-20 12:57
2006.09.24
Отчет с отчета (QuikReport)