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