Определение оператора выполнения временной процедуры.
::=
Правила оформления <процедурного блока>
приведены в разделе Общий вид процедурного блока.
Опции 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;