En este capítulo vimos como se crean los procedimientos dentro de PL/SQL. Los PROCEDURES nos permiten definir tareas que podemos utilizar una y otra vez, tal como en los Lenguajes de alto nivel.
El ejemplo trata un caso ficticio de que necesitamos añadir nuevos registros a la tabla locations de nuestra empresa. Aquí los parámetros obligatorios son definidos por los campos NOT NULL de la tabla, con el detalle que el campo country_id sino es especificado se toma el valor por defecto US (definido en el PROCEDURE), mientras que para locations de otro país hace falta ingresar su country_id.
Veamos:
1. Creamos el PROCEDURE
CREATE OR REPLACE PROCEDURE insert_loc
(p_city IN LOCATIONS.city%TYPE,
p_co_id IN LOCATIONS.country_id%TYPE DEFAULT ‘US’)
IS
BEGIN
INSERT INTO LOCATIONS(location_id, city, country_id)
VALUES (locations_seq.NEXTVAL, p_city, p_co_id);
END insert_loc;
________________Todo bien
Salida:
Procedure created
_________________Luego insertamos los valores desde un bloque anónimo
BEGIN
insert_loc(‘Miami’);
insert_loc(‘Montreal’, ‘CA’);
3. Comprobamos los nuevos valores agregados:
SELECT * FROM LOCATIONS ORDER BY LOCATION_ID
Y en la salida se ven a Miami y Montreal en US y CA respectivamente.
Mayo 16, 2008 a las 8:24 pm
En este capítulo vimos como se crean los procedimientos dentro de PL/SQL. Los PROCEDURES nos permiten definir tareas que podemos utilizar una y otra vez, tal como en los Lenguajes de alto nivel.
El ejemplo trata un caso ficticio de que necesitamos añadir nuevos registros a la tabla locations de nuestra empresa. Aquí los parámetros obligatorios son definidos por los campos NOT NULL de la tabla, con el detalle que el campo country_id sino es especificado se toma el valor por defecto US (definido en el PROCEDURE), mientras que para locations de otro país hace falta ingresar su country_id.
Veamos:
1. Creamos el PROCEDURE
CREATE OR REPLACE PROCEDURE insert_loc
(p_city IN LOCATIONS.city%TYPE,
p_co_id IN LOCATIONS.country_id%TYPE DEFAULT ‘US’)
IS
BEGIN
INSERT INTO LOCATIONS(location_id, city, country_id)
VALUES (locations_seq.NEXTVAL, p_city, p_co_id);
END insert_loc;
________________Todo bien
Salida:
Procedure created
_________________Luego insertamos los valores desde un bloque anónimo
BEGIN
insert_loc(‘Miami’);
insert_loc(‘Montreal’, ‘CA’);
END;
Salida:
PL/SQL procedure successfully completed.
____________________________
3. Comprobamos los nuevos valores agregados:
SELECT * FROM LOCATIONS ORDER BY LOCATION_ID
Y en la salida se ven a Miami y Montreal en US y CA respectivamente.