Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

запрос [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


Наверх

Титульная страница Поиск, карта сайта Написать письмо