24.16 EXECUTE_REMOTE_PLSQL Procedure
This procedure executes PL/SQL code on a REST Enabled SQL instance.
Syntax
PROCEDURE 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 );
Parameters
Table 24-13 EXECUTE_REMOTE_PLSQL Procedure Parameters
Parameter | Description |
---|---|
|
Static ID of the ORDS REST Enabled SQL Instance. |
|
PL/SQL code to be executed. |
|
Whether to automatically bind page item values for IN *and* OUT direction. If the PL/SQL code references bind variables which are not page items, this must be set to FALSE. Default: TRUE |
|
Additional bind variables; if needed. |
Examples
Example 1
Executes a PL/SQL block on a remote database.
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;
Example 2
Works with arbitrary bind variables, so any bind can be used to pass values to the REST Enabled SQL service and to get values back.
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;
Parent topic: APEX_EXEC