Выполнение временной процедуры
Определение оператора выполнения временной процедуры.
Спецификация
<выполнение временной процедуры>
::=
Синтаксические правила
Правила оформления <процедурного блока>
приведены в разделе Общий вид процедурного блока.
Примечание
Опции AUTHID
и FOR DEBUG
не запрещены по синтаксису, но реально их использовать затруднительно.
Примеры
-
Временная процедура.
execute block result int declare var i int; // code i := 1; // print("execute block");// return i; // end;
-
Временная процедура с SQL-запросом.
create or replace table test(i int); execute block result int declare var i int; // code i := 12; // execute direct "insert into test values(1)";// execute "insert into test values(2)";// return i; // end; select * from test;
-
Временная процедура с курсором.
execute block result cursor(i int) declare // var b typeof(result); // code // open b for "select i from test;"; // return b; // end;
-
Рекурсивный вызов временных процедур.
execute block result int declare var i int; // code i := 123; // execute direct "execute block result int for debug declare var i int; // code i:=12; // execute direct \"insert into test values(3)\"; // execute \"insert into test values(4)\"; // return i; // end;"; // return i; // end; select * from test;