Рассмотрим следующий скрипт:
set term ^;
exit
^
execute block
as
begin
execute statement 'this will fail';
end
^
exit
вполне допустимо и приводит к завершению выполнения скрипта. По крайней мере, в IBExpert, где я это тестирую. Но я хочу сделать это программно.
set term ^;
execute block
as
begin
if (exists(select 1 from sometable where somevalue = 1)) then begin
-- This only exits the block, not the script
exit;
end
end
^
execute block
as
begin
execute statement 'this will fail';
end
^
Является ли exit
в моем первом примере действительным для Firebird или IBExpert обрабатывает его сам? Есть ли другой способ условно выйти из всего скрипта?