Выполнение временной процедуры
Определение оператора выполнения временной процедуры.
Спецификация
< выполнение временной процедуры >
::=
Синтаксические правила
Правила оформления < процедурного блока >
приведены в разделе Общий вид процедурного блока.
Примечание
Опции AUTHID
и FOR DEBUG
не запрещены по синтаксису, но реально их использовать затруднительно.
Примеры
1) Временная процедура: execute block result int declare var i int; // code i := 1; // print("execute block");// return i; // end; 2) Временная процедура с 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; 3) Временная процедура с курсором: execute block result cursor(i int) declare // var b typeof(result); // code // open b for "select i from test;"; // return b; // end; 4) Рекурсивный вызов временных процедур: 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;