sql >> Base de Datos >  >> RDS >> Oracle

Parámetro booleano para el procedimiento almacenado de Oracle

Tu puedes utilice valores booleanos como parámetros para los procedimientos almacenados:

procedure p (p_bool in boolean) is...

Sin embargo, no puede usar valores booleanos en SQL, p. declaraciones selectas:

select my_function(TRUE) from dual; -- NOT allowed

Para un parámetro numérico, no hay forma de agregarle de forma declarativa una "restricción de verificación", tendría que codificar alguna validación, por ejemplo,

procedure p (p_num in number) is
begin
   if p_num not in (0,1) then
      raise_application_error(-20001,'p_num out of range');
   end if;
   ...