Wich variable type for 'BOOLEAN' parameter ?

panda

Member
Can you tell me what (and how to assign) variable type must I use for calling an Oracle Procedure wich require a 'BOOLEAN' parameter ?
 
Boolean variables are not directly supported by Oracle Net. You can use an integer variable and covert between 1/0 and true/false. For example:

Code:
-- PL/SQL Procedure with a boolean in/out parameter:

create or replace procedure boolproc(p_boolpar in out boolean) is
begin
  p_boolpar := not p_boolpar;
end boolproc;

Code:
-- PL/SQL Block to call this procedure with an integer variable:

declare
  -- Boolean parameters are translated from/to integers:
  -- 0/1/null <--> false/true/null
  p_boolpar boolean := sys.diutil.int_to_bool(:p_boolpar);
begin
  -- Call the procedure
  boolproc(p_boolpar => p_boolpar);
  -- Convert false/true/null to 0/1/null
  :p_boolpar := sys.diutil.bool_to_int(p_boolpar);
end;
 
Back
Top