27.20 EXECUTE_PLSQLプロシージャのシグネチャ1
このプロシージャは、現在のプロセスまたはプラグインの場所設定に基づいてPL/SQLコードを実行します。
構文
APEX_EXEC.EXECUTE_PLSQL (
p_plsql_code IN VARCHAR2,
p_auto_bind_items IN BOOLEAN DEFAULT TRUE,
p_sql_parameters IN OUT t_parameters )
パラメータ
パラメータ | 説明 |
---|---|
p_plsql_code |
実行するPL/SQLコード。現在のプロセスまたはプロセス・タイプのプラグインの設定に基づいて、コードがローカルまたはリモートで実行されます。 |
p_auto_bind_items |
デフォルトはTRUE です。IN方向とOUT方向のページ・アイテム値を自動的にバインドするかどうか。そのPL/SQLコードでページ・アイテムでないバインド変数が参照されている場合は、これをFALSE に設定する必要があります。
|
p_sql_parameters |
追加のバインド変数(必要な場合)。EXECUTE_PLSQL は、すべてのp_sql_parameters をVARCHAR2としてバインドすることに注意してください。NUMBER やDATE などのバインド変数は、暗黙的にVARCHAR2に変換されます。
|
例
任意のバインド変数を使用してPL/SQLブロックを実行するため、任意のバインドを使用して値を渡し、値を戻すことができます。
DECLARE
l_sql_parameters apex_exec.t_parameters;
l_out_value varchar2(32767);
BEGIN
apex_exec.add_parameter( l_sql_parameters, 'MY_BIND_IN_VAR', '{some value}' );
apex_exec.add_parameter( l_sql_parameters, 'MY_BIND_OUT_VAR', '' );
apex_exec.execute_plsql(
p_plsql_code => q'#begin :MY_BIND_OUT_VAR := some_plsql( p_parameter => :MY_BIND_IN_VAR ); end;#',
p_auto_bind_items => false,
p_sql_parameters => l_sql_parameters );
l_out_value := apex_exec.get_parameter_varchar2(
p_parameters => l_sql_parameters,
p_name => 'MY_BIND_OUT_VAR');
-- further processing of l_out_value
END;
親トピック: APEX_EXEC