![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
запрос [D7, Firebird 2.0.]
MZ © (2008-01-21 12:55:00)Увжаемые мастера созрел еще один вопрос. Каким образом составить запрос в хранимке чтобы он возвращал не запись а булево значение - есть эта запись или нет
Ega23 (2008-01-22 11:43:00) [1]
> K (22.01.08 09:40) [9]
Прошу обратить внимание, что в заголовке ветки указан FireBird, а не MSSQL.
K (2008-01-22 09:40:00) [2]Лучше всего использовать
declare @r bit
IF EXISTS(select ... from ... where ...)
set @r= 1
else
set @r= 0
select @r Result
Результат переменной типа bit делфяндия будет воспринимать как boolean ))
Sergey13 (2008-01-21 16:07:00) [3]> [7] clickmaker © (21.01.08 16:00)
Я же написал "как вариант". Иногда такие запросы заставляют сервер вообще не использовать таблицу, только индекс, что соответственно работает быстрее.
Так как у автора в вопросе нет текста самого запроса я и счел возможным...
clickmaker (2008-01-21 16:00:00) [4]
> [6] Sergey13 © (21.01.08 15:52)
зачем подсчитывать все, если достаточно только одного?
Sergey13 (2008-01-21 15:52:00) [5]> [0] MZ (21.01.08 12:55)
Вполне можно, как вариант,
select count(id) from table
использовать.
Если результат > 0 есть записи.
Правильный_Вася (2008-01-21 15:28:00) [6]
> Ega23 © (21.01.08 14:05) [3]
я делал чар + чек + дефолт
palva (2008-01-21 14:09:00) [7]> if exists (select * from ... )
if (exists (select * from ... )) then
Ega23 (2008-01-21 14:05:00) [8]Кстати, о пцыцах: а каким образом вы делаете булево значение в FB?
Char Domain + Check?
Тупо Integer?
Johnmen (2008-01-21 13:17:00) [9]Если в 2.0 появились булевы типы, то см. документацию.
clickmaker (2008-01-21 13:01:00) [10]if exists (select * from ... )
select 1 as Result
else
select 0 as Result