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

Вниз

Передача параметров в запрос   Найти похожие ветки 

 
alsn   (2002-06-14 13:25) [0]

Здравствуйте. На MSSQL есть таблица Table1 вида
ID, Field1, Field2, ..., Field10. Пусть для простоты все поля будут int.
Создаем процедуру:
create procedure test @param1 int, @param2 int, ..., @param10 int
as begin
Select * From Table1
Where
?????????
end

Параметры @param1 int, @param2 int, ..., @param10 - это
условия, налагаемые на поля Field1, Field2, ..., Field10.
которым должны быть равны значения соответсвующих полей.
Но, условие FieldX = @paramX должно налагаться только если @paramX is Not Null.
Что должно быть записано в предложнении Where
или как это все сделать по другому?
Заранее спасибо.


 
TSV ©   (2002-06-14 13:47) [1]

SELECT ...
FROM Table1
WHERE
(@Param1 is null or Field1 = @Param1)
and (@Param2 is null or Field2 = @Param2)
...

Удачи.


 
MishGan`   (2002-06-14 13:51) [2]

А нельзя так (FieldX = @paramX) OR (@paramX IS NULL)?
Или если все так плохо - используй dynamic sql (EXEC или SP_EXECUTESQL) - ты сможешь формировать условие запроса в процессе выполнения хр. процедуры.


 
Автор вопроса   (2002-06-14 14:19) [3]

2 MishGan:
Если использовать dynamic sql, юзерам придется давать права на чтение этих таблиц, чего делать нельзя.



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

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

Наверх




Память: 0.47 MB
Время: 0.01 c
14-23728
PTE
2002-06-05 20:26
2002.07.08
дайте плиз русский хелп к RxDrawGrid?


1-23663
Сатир
2002-06-20 14:07
2002.07.08
initialization - расскажите, для чего используется эта секция


3-23444
BJValentine
2002-06-13 17:45
2002.07.08
---|Ветка была без названия|---


3-23456
BenGun
2002-06-10 14:56
2002.07.08
Кто работал с MsAccess


7-23815
Рамиль
2002-04-11 10:45
2002.07.08
Обмен данными по СОМ порту