ストアドプロシージャの実行
SQLコマンドでストアド・プロシージャを実行するには、 CALL または EXEC[UTE[ PROCEDURE]] コマンドを使用します。
たとえば、ストアード・プロシージャーの名前が
updateacct() であるとすると、以下の任意のコマンドを使用してこのストアード・プロシージャーを実行できます。MYDB.SCHEMA(USER)=> CALL updateacct();
MYDB.SCHEMA(USER)=> EXEC updateacct();
MYDB.SCHEMA(USER)=> EXECUTE updateacct();
MYDB.SCHEMA(USER)=> EXECUTE PROCEDURE updateacct();また、 SELECT コマンドを使ってプロシージャーを実行することもできる。 FROM 節は指定できない。
例:
MYDB.SCHEMA(USER)=> SELECT updateacct();
ヒント: ストアド・プロシージャの実行中に
expression_tree_walker エラーが発生する場合は、セッション・レベルで spi_simplify_expr=false を設定して SPI 層の簡略化をスキップし、ストアド・プロシージャを実行してください。set spi_simplify_expr =false; YOUR STORED PROECDUREプロシージャーを実行するには、実行するユーザーが updateacct() プロシージャー所有者であるか、このプロシージャーの実行権限を持つ必要があります。