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

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

IB 7.5 Как в триггере изнать сколько записей вернул подзапрос?


novill ©   (2006-11-09 11:52:00) 

CREATE TRIGGER ХХХ_BU0 FOR ХХХ
ACTIVE BEFORE UPDATE POSITION 0
AS
begin
...

 select ХХХ.CODE from ХХХ ...

// Тут надо узнать сколько записей вернул запрос

end


Johnmen   (2006-11-09 12:57:00) [1]


> novill ©   (09.11.06 11:52) 


Сколько вернёт запрос
select COUNT(*) from ХХХ ...


novill   (2006-11-09 12:23:00) [2]

> [4] Desdechado ©   (09.11.06 12:11)

В курсе, но приходится


Desdechado   (2006-11-09 12:11:00) [3]

Обращаться с запросом к таблице XXX в триггере на таблицу XXX чревато трудноуловимыми логическими ошибками.


novill   (2006-11-09 12:03:00) [4]

Запрос может вернуть как ни одной, так и много записей.

Во! точно countпоможет в данном случае. Я сразу не сообразил что можно запрос изменить.

А что аналога recordcount в языке SQL для процедур InterBase нет?


Romkin   (2006-11-09 11:56:00) [5]

В таком виде он должен вернуть либо одну запись, либо ничего. Ничего - по значениям переменных узнать можно, если больше одной - будет исключение "multiple rows in singleton select"


Sergey13   (2006-11-09 11:56:00) [6]

100% уверенность - пробежаться циклом и посчитать.
99.9% - count перед/после основного запроса.


Наверх

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