Los procedimientos almacenados de MySQL , en postgreSQL se llaman funciones, pueden crearse desde consola, pero es mucho mas fácil utilizar pgAdmin.
Para este tutorial, se emplearan dos tablas que consisten en una tabla llamada PERSONA y otra tabla, llamada TORNEO, el código para su creación esta más abajo, la tabla Torneo ademas hace uso de un SEQUENCE para generar un ID autoincrementable, puedes ver un tutorial AQUI.
CREATE TABLE persona ( "CI" character(7) NOT NULL, "Nombre" character(32) NOT NULL, edad integer NOT NULL DEFAULT 18, CONSTRAINT "CI" PRIMARY KEY ("CI") ) CREATE SEQUENCE id_secuencia INCREMENT 1 MINVALUE 1 MAXVALUE 9223372036854775807 START 18 CACHE 1; ALTER TABLE id_secuencia OWNER TO postgres; CREATE TABLE torneo ( "ID" integer NOT NULL DEFAULT nextval('id_secuencia'::regclass), ci_participante character(7) NOT NULL, categoria character(16) NOT NULL, CONSTRAINT "ID" PRIMARY KEY ("ID") )
El ejemplo que crearemos es muy simple, teniendo algunos registros en la tabla PERSONA, crearemos una función que nos permita registrar participantes en la tabla TORNEO, con la restricción de que si la edad es mayor o igual de 18 años, se registren en la categoría «Mayores», caso contrario si la edad es menor de 18 años, corresponden a la categoría «Menores». Un ejemplo muy simple, pero que nos sirve para ver en su mayoría las instrucción más utilizadas en las funciones, parámetros, variables, consultas, instrucciones condicionales, etc.
la función completa la tienes en el siguiente código:
declare -- se declaran las variables a utilizar ci character(7); -- ID de tabla persona = CEDULA DE IDENTIDAD edad integer; -- la edad del participante --la funcion va entre BEGIN y END begin ci = $1 ; -- ci toma valor del parametro de entrada -- el valor de edad, sera calculado mediante una consulta a la tabla persona edad = ( select p."edad" from "persona" as p where p."CI" = ci ); -- de acuerdo al valor de EDAD registramos al participante en la categoria -- >=18 Mayores <18 Menores sino, NO SE REGISTRA NADA if( edad >= 18 ) then insert into torneo( ci_participante, categoria ) values ( ci, 'Mayores' ); return 'Participante registrado en la categoria MAYORES'; elsif ( edad <18 ) then insert into torneo( ci_participante, categoria ) values ( ci, 'Menores' ); return 'Participante registrado en la categoria MENORES'; else return 'Error: No se pudo completar el registro'; end if; end;
En el siguiente video, veremos paso a paso su construcción y ejecución
🙂 FIN
En post pasados [Ejemplo práctico de MVC java Swing con Netbeans, 3 en raya java con MVC y Netbeans , MVC: Modelo, Vista[...]
Cuando se realizan trabajos donde se necesita mostrar al cliente un determinado monto de dinero, tipo factura, recibo, c[...]
Segunda parte del tutorial [Introducción a Scene Builder y MVC (Parte I)]. En esta segunda parte, completaremos el diseñ[...]
HyperSQL DataBase (HSQLDB) es un moderno administrador de bases de datos relacionales, es portátil e implementado en jav[...]
Hola 🙂 en esta ocasión un amigo del Brasil nos envía un proyecto java de una Urna Electrónica o Voto Electronico, desarr[...]
JavaMail es una expansión de Java que facilita el envío y recepción de e-mail desde código java. JavaMail implementa el[...]