27.21 EXECUTE_REMOTE_PLSQLプロシージャ

このプロシージャは、REST対応SQLインスタンスでPL/SQLコードを実行します。

構文

APEX_EXEC.EXECUTE_REMOTE_PLSQL (
    p_server_static_id     IN     VARCHAR2,
    p_plsql_code           IN     VARCHAR2,
    p_auto_bind_items      IN     BOOLEAN      DEFAULT TRUE,
    p_sql_parameters       IN OUT t_parameters )

パラメータ

パラメータ 説明
p_server_static_id ORDS REST対応SQLインスタンスの静的IDです。
p_plsql_code 実行されるPL/SQLコード。
p_auto_bind_items IN方向OUT方向の両方のページ・アイテム値を自動的にバインドするかどうか。ページ・アイテムではないバインド変数をPL/SQLコードが参照する場合には、これをFALSEに設定する必要があります。デフォルトはTRUEです
p_sql_parameters 追加のバインド変数(必要な場合)。

例1

リモート・データベースに対してPL/SQLブロックを実行します。

BEGIN
    apex_exec.execute_remote_plsql(
        p_server_static_id => '{Static ID of the REST Enabled SQL Service}',
        p_plsql_code  => q'#begin :P10_NEW_SAL := salary_pkg.raise_sal( p_empno => :P10_EMPNO ); end;#' );
END;

例2

任意のバインド変数を操作するため、任意のバインドを使用して、REST対応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_remote_plsql(
            p_server_static_id     => '{Static ID of the REST Enabled SQL Service}',
            p_plsql_code           => q'#begin :MY_BIND_OUT_VAR := some_remote_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;