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.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
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.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
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.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
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