Hola a todos, hoy os voy a explicar como funcionan los parámetros de salida y entrada en PL/SQL.
Ya que hemos visto las funciones y procedimientos, te dejo aquí el manual donde lo vemos:
En PL/SQL, los parámetros pueden ser de entrada o salida, vamos a explicar como se utilizan ambos:
- Entrada (IN): los parámetros de entrada son lo que debemos darles un valor al llamar la función o procedimiento, sino se indica en el parámetro, por defecto, será un parámetro de entrada.
create or replace function suma(num1 IN number, num2 IN number) return Number as v_total number := 0; begin v_total := num1 + num2; return v_total; end; / declare v_num1 number(8) := 5; v_num2 number(8) := 10; v_total number(8) := 0; begin v_total := suma(v_num1, v_num2); DBMS_OUTPUT.PUT_LINE('El total es ' || v_total); end; /
- Salida (OUT): los parámetros de salida lo que hacen es que que cuando termina la función o procedimiento, el valor que tiene esa variable, la mantiene fuera de la función o procedimiento. Se puede utilizar para guardar varios valores a la vez, por ejemplo, o si en un procedimiento necesitamos guardar algo como si fuera una función.
create or replace procedure suma(num1 IN number, num2 IN number, v_total OUT number) as begin v_total := num1 + num2; end; / declare v_num1 number(8) := 5; v_num2 number(8) := 10; v_total number(8) := 0; begin suma(v_num1, v_num2, v_total); DBMS_OUTPUT.PUT_LINE('El total es ' || v_total); end; /
Te dejo un video del canal por aquí:
- Entrada y salida (IN OUT): Es la combinación de ambas tipos parámetros.
create or replace procedure alCubo(numero IN OUT number) as begin numero := numero * numero; end; / declare v_num1 number(8) := 5; begin alCubo(v_num1); DBMS_OUTPUT.PUT_LINE('El total es ' || v_num1); end; /
Espero que os sea de ayuda. Si tenéis dudas, preguntad. Estamos para ayudarte.
Deja una respuesta