2
Practica de Procedimientos Almacenados 1. Accedemos a nuestra base de datos: psql –d demo 2. Luego de acceder a nuestra base de datos procedemos a crear nuestra tabla: CREATE TABLE empleado (cod_e INT PRIMARY KEY, nom_e VARCHAR(15), ape_e VARCHAR(20), ci_e VARCHAR(20), gen_e VARCHAR(1), dep_e VARCHAR(40)); 3. Procedemos a realizar una consulta de la tabla que creamos en nuestra base de datos: SELECT * FROM empleado; 4. Como pueden observar la tabla se encuentra vacia, dado que no hemos ingresado ningunos datos dentro de cada atributo de la tabla, por ello, procederemos a crear una función almacenada en nuestra base de datos: CREATE OR REPLACE FUNCTION agg_emple(codigo INT, nombre VARCHAR, apellido VARCHAR, cedula VARCHAR, genero VARCHAR, departamento VARCHAR) RETURNS void AS $$ BEGIN LOOP UPDATE empleado SET nom_e = nombre, ape_e = apellido, ci_e = cedula, gen_e = genero, dep_e = departamento WHERE cod_e = codigo; IF found THEN RETURN; END IF; BEGIN

Practica de Procedimientos Almacenados

  • Upload
    amy-lee

  • View
    217

  • Download
    2

Embed Size (px)

DESCRIPTION

procedimientos, almacenados, postgresql

Citation preview

Page 1: Practica de Procedimientos Almacenados

Practica de Procedimientos Almacenados

1. Accedemos a nuestra base de datos:

psql –d demo

2. Luego de acceder a nuestra base de datos procedemos a crear nuestra tabla:

CREATE TABLE empleado (cod_e INT PRIMARY KEY, nom_e VARCHAR(15), ape_e VARCHAR(20), ci_e VARCHAR(20), gen_e VARCHAR(1), dep_e VARCHAR(40));

3. Procedemos a realizar una consulta de la tabla que creamos en nuestra base de datos:

SELECT * FROM empleado;

4. Como pueden observar la tabla se encuentra vacia, dado que no hemos ingresado ningunos datos dentro de cada atributo de la tabla, por ello, procederemos a crear una función almacenada en nuestra base de datos:

CREATE OR REPLACE FUNCTION agg_emple(codigo INT, nombre VARCHAR, apellido VARCHAR, cedula VARCHAR, genero VARCHAR, departamento VARCHAR) RETURNS void AS$$BEGIN LOOP

UPDATE empleado SET nom_e = nombre, ape_e = apellido, ci_e = cedula, gen_e = genero, dep_e = departamento WHERE cod_e = codigo;

IF found THENRETURN;

END IF;

BEGIN INSERT INTO empleado(cod_e,nom_e,ape_e,ci_e,gen_e,dep_e)

VALUES (codigo,nombre,apellido,cedula,genero,departamento); RETURN;EXCEPTION WHEN unique_violation THEN -- do nothingEND;

END LOOP;END;$$ LANGUAGE plpgsql;

Page 2: Practica de Procedimientos Almacenados

5. Luego de ello procedemos a ingresar los datos en nuestro procedimiento almacenado:

SELECT agg_emple(1,’Juan’,’Cardozo’,’v - 11254748’,’M’,’Obrero’);SELECT agg_emple(2,’Peter’,’Perez’,’v - 12335587’,’M’,’Administrativo’);

6. Luego procedemos a realizar una consulta de la tabla:

SELECT * FROM empleado;

7. Como podemos darnos cuenta ahora, vemos que nuestra tabla posee datos los cuales agregamos por medio de nuestro procedimiento almacenado.