declare
v_exists_status_10 number(1);
...
begin
...
-- v_exists_status_10 = 0 if no such row exist, 1 if at least one does
select count(*)
into v_exists_status_10
from dual
where exists
(select * from your_table where statusid <> 10);
if v_exists_status_10 > 0 then
...
Обратите внимание, что вы могли бы также сделать тупую COUNT () в переменную, но это может быть массово неэффективно по сравнению с EXISTS. С помощью COUNT () вам придется сканировать все записи, тогда как с EXISTS, как только он нажмет статус = 10, он может остановить сканирование.
Ах, я получаю сейчас. – Welbog
Я хочу проверить, что все значения statusid должны быть равны 10, если одно значение статуса не равно 10, тогда условие должно возвращать значение false – 2009-07-09 12:02:44
@secko: -i не хочу проверять кого-либо, я хочу проверить каждое поле statusid = 10 – 2009-07-09 12:05:36