Diccionario de Datos de un inventario
-
Upload
mauricio-tamayo -
Category
Documents
-
view
237 -
download
1
description
Transcript of Diccionario de Datos de un inventario
4
Diccionario de Datos Proyecto: DESARROLLO DE UN SISTEMA INFORMTICO PARA LA AUTOMATIZACIN DEL CONTROL DE INVENTARIO DE ACTIVOS FIJOS Y BIENES, UTILIZANDO SOFTWARE LIBRE, PARA LA UNIDAD EDUCATIVA DEL MILENIO MI INUN YA EN EL CANTN SANTO DOMINGO DE LOS COLORADOS. AO 2014.
NDICE DE CONTENIDOS1.INTRODUCCIN52.TABLAS52.1Parametrizacin52.2Lista de Tablas52.2.1Tabla categoras_productos62.2.2Tabla clientes62.2.3Tabla departamentos72.2.4Tabla ingresos_productos82.2.5Tabla movientos_productos82.2.6Tabla ordenes_ingreso92.2.7Tabla ordenes_pedido102.2.8Tabla pedidos_productos102.2.9Tabla productos112.2.10Tabla proveedores122.2.11Tabla usuarios133.FUNCIONES143.1Parametrizacin143.2Lista de Funciones143.2.1Funcin sp_eliminar153.2.2Funcin sp_guardar_categoria153.2.3Funcin sp_guardar_cliente163.2.4Funcin sp_guardar_departamento173.2.5Funcin sp_guardar_orden_ingreso173.2.6Funcin sp_guardar_orden_pedido183.2.7Funcin sp_guardar_producto193.2.8Funcin sp_guardar_proveedor203.2.9Funcin sp_guardar_usuario20
LISTA DE TABLASTabla 1: Lista de Tablas5Tabla 2: Tabla categorias_productos6Tabla 3: Restricciones Tabla categoras_productos6Tabla 4: Tabla de clientes6Tabla 5: Restricciones Tabla clientes7Tabla 6: Tabla departamentos7Tabla 7: Restricciones Tabla departamentos7Tabla 8: Tabla de ingresos_productos8Tabla 9: Restricciones Tabla ingresos_productos8Tabla 10: Tabla de movimientos_productos8Tabla 11: Restricciones de la Tabla movimientos_productos9Tabla 12: Tabla de ordenes_ingreso9Tabla 13: Restricciones Tabla proveedores9Tabla 14: Tabla de ordenes_pedido10Tabla 15: Restricciones Tabla proveedores10Tabla 16: Tabla de pedidos_productos10Tabla 17: Restricciones Tabla pedidos_productos11Tabla 18: Tabla de productos11Tabla 19: Restricciones Tabla productos12Tabla 20: Tabla de proveedores12Tabla 21: Restricciones Tabla proveedores12Tabla 22: Tabla de usuarios13Tabla 23: Restricciones Tabla usuarios13Tabla 24: Lista de Funciones14Tabla 25: Funcin sp_eliminar15Tabla 26: Funcin sp_guardar_categoria15Tabla 27: Funcin sp_guardar_cliente16Tabla 28: Funcin sp_guardar_departamento17Tabla 29: Funcin sp_guardar_orden_ingreso17Tabla 30: Funcin sp_guardar_orden_pedido18Tabla 31: Funcin sp_guardar_producto19Tabla 32: Funcin sp_guardar_proveedor20Tabla 33: Funcin sp_guardar_usuario21
1. INTRODUCCINEl presente documento contiene el diccionario de datos, donde se describen las caractersticas lgicas utilizadas en el sistema para el control de inventario de activos fijos y bienes.2. TABLAS2.1 ParametrizacinCada tabla del Sistema de control de inventario de activos fijos y bienes inicia con el nombre propio que se le ha designado a la tabla en el cual define su contenido.2.2 Lista de TablasLista de las tablas utilizadas en el desarrollo del modelo de la base de datos para el sistema de control de inventario de activos fijos y bienes.N.-Nombre de la TablaDescripcin
1CATEGORIAS_PRODUCTOSTabla que contiene las categoras de los activos fijos y bienes.
2CLIENTESTabla que contiene a las personas u entidades que harn uso del inventario.
3DEPARTAMENTOSTabla que contiene los departamentos a los cuales pertenecen los clientes.
4INGRESOS_PRODUCOSTabla que almacena el detalle de las ordenes de ingreso
5MOVIMIENTOS_PRODUCTOSTabla que contiene el movimiento de stock de los productos.
6ORDENES_INGRESOTabla que contiene las ordenes de ingreso de los activos fijos y bienes.
7ORDENES_PEDIDOTabla que contiene las ordenes de pedido de los activos fijos y bienes.
8PEDIDOS_PRODUCTOSTabla que almacena el detalle de las ordenes de pedido
9PRODUCTOSTabla que contiene los activos fijos y bienes de la unidad educativa.
10PROVEEDORESTabla que contiene la informacin de los proveedores de los activos fijos y bienes.
11USUARIOSTabla que contiene a los usuarios del sistema.
Tabla 1: Lista de TablasFuente: Los autores2.2.1 Tabla categoras_productosN.-Nombre de ColumnaTipo de DatosNullComentarios
1cpro_idIntegerNoCdigo secuencial de categorias_productos
2cpro_nombrecharacter varying(100)NoNombre de la categora
3cpro_estadoSmallintNoEstado de la categora
Tabla 2: Tabla categorias_productosFuente: Los autores RestriccionesNombreTipoColumna LocalTabla Ref.Columna de Ref.
pk_categorias_productoPRIMARY KEYcpro_id
Tabla 3: Restricciones Tabla categoras_productosFuente: Los autores2.2.2 Tabla clientesN.-Nombre de ColumnaTipo de DatosNullComentarios
1cli_idintegerNoCdigo secuencial de clientes
2cli_identificacioncharacter varying(13)NoCedula del cliente
3cli_nombrescharacter varying(50)NoNombres del cliente
4cli_apellidoscharacter varying(50)NoApellidos del cliente
5cli_telefonocharacter varying(20)SITelfono del cliente
6cli_correocharacter varying(100)SICorreo electrnico del cliente
7cli_estadosmallintNoEstado del cliente
8depa_idinteger NoCdigo secuencial de departamentos
Tabla 4: Tabla de clientesFuente: Los autores
RestriccionesNombreTipoColumna LocalTabla Ref.Columna de Ref.
pk_clientesPRIMARY KEYcli_id
fk_departamentos_idFOREIGN KEY depa_idDepartamentosdepa_id
Tabla 5: Restricciones Tabla clientesFuente: Los autores2.2.3 Tabla departamentosN.-Nombre de ColumnaTipo de DatosNullComentarios
1depa_idintegerNoCdigo secuencial de departamentos
2depa_nombrecharacter varying(100)NoNombre del departamento
3depa_descripcioncharacter varying(100)SiDescripcin del departamento
4depa_estadosmallintNoEstado del departamento
Tabla 6: Tabla departamentosFuente: Los autores RestriccionesNombreTipoColumna LocalTabla Ref.Columna de Ref.
pk_departamentosPRIMARY KEYdepa_id
Tabla 7: Restricciones Tabla departamentosFuente: Los autores
2.2.4 Tabla ingresos_productosN.-Nombre de ColumnaTipo de DatosNullComentarios
1ingrpro_idintegerNoCdigo secuencial de ingresos_productos
2ingrpro_cantidadintegerNoCantidad del producto para la orden de ingreso
3ingrpro_preciodouble precisinNoPrecio del producto
4ingr_idintegerNoCdigo de orden de ingreso
5prod_idintegerNoCdigo secuencial de los productos
Tabla 8: Tabla de ingresos_productosFuente: Los autores RestriccionesNombreTipoColumna LocalTabla Ref.Columna de Ref.
pk_ingresos_productosPRIMARY KEYingrpor_id
fk_ordenes_ingresoFOREIGN KEY ingr_idOrdenes_ingresoingr_id
fk_productosFOREIGN KEY prod_idproductosprod_id
Tabla 9: Restricciones Tabla ingresos_productosFuente: Los autores
2.2.5 Tabla movientos_productosN.-Nombre de ColumnaTipo de DatosNullComentarios
1pmov_idintegerNoCdigo secuencial de los movimientos de stock de productos
2prod_idintegerNoCdigo secuencial de productos
3pmov_fechacharacter varying (10)NoFecha del movimiento
4pmov_cantidadintegerNoCantidad del movimiento de producto
5pmov_tipointegerNoTipo de movimiento
5pmov_estadosmallintNoEstado del movimiento de producto
Tabla 10: Tabla de movimientos_productosFuente: Los autores
RestriccionesNombreTipoColumna LocalTabla Ref.Columna de Ref.
pk_movimientos_productosPRIMARY KEYpmov_id
fk_productosFOREIGN KEY prod_idproductosprod_id
Tabla 11: Restricciones de la Tabla movimientos_productosFuente: Los autores2.2.6 Tabla ordenes_ingresoN.-Nombre de ColumnaTipo de DatosNullComentarios
1ingr_idintegerNoCdigo secuencial de los ordenes_ingreso
2usua_idintegerNoCdigo secuencial de usuarios
3prov_idintegerNOCdigo secuencial de proveedores
4ingr_facturacharacter varying(20)NONumero de factura
5ingr_curcharacter varying(20)NOCUR
6ingr_tiposmallintNOTipo de ingreso
7ingr_actacharacter varying(20)SIActa asociado al ingreso
8ingr_estadosmallintNoEstado de las ordenes de ingreso
Tabla 12: Tabla de ordenes_ingresoFuente: Los autores RestriccionesNombreTipoColumna LocalTabla Ref.Columna de Ref.
pk_ordenes_ingresoPRIMARY KEYingr_id
fk_proveedoresFOREIGN KEY prov_idProveedoresprov_id
Tabla 13: Restricciones Tabla proveedoresFuente: Los autores
2.2.7 Tabla ordenes_pedidoN.-Nombre de ColumnaTipo de DatosNullComentarios
1pedi_idintegerNoCdigo secuencial de las ordenes de pedido
2pedi_clienteintegerNoCdigo secuencial de clientes
3usua_idintegerNOCdigo secuencial de usuarios
4pedi_fechacharacter varying(20)NONumero de factura
5pedi_observacionescharacter varying(20)NOObservaciones del pedido
6pedi_tiposmallintNOTipo de pedido
7pedi_actacharacter varying(20)SIActa asociado al pedido
8pedi_estadosmallintNoEstado de las ordenes de pedido
Tabla 14: Tabla de ordenes_pedidoFuente: Los autores RestriccionesNombreTipoColumna LocalTabla Ref.Columna de Ref.
pk_ordenes_pedidoPRIMARY KEYpedi_id
fk_clientesFOREIGN KEY cli_idClientescli_id
fk_usuariosFOREIGN KEY usua_idUsuariosusua_id
Tabla 15: Restricciones Tabla proveedoresFuente: Los autores2.2.8 Tabla pedidos_productosN.-Nombre de ColumnaTipo de DatosNullComentarios
1pedipro_idIntegerNoCdigo secuencial de los clientes
2pedipro _cantidadCharacter varying(13)NoCedula del cliente
3Prod_idCharacter varying(50)NoNombres del cliente
4Pedi_idCharacter varying(50)NoApellidos del cliente
Tabla 16: Tabla de pedidos_productosFuente: Los autores
RestriccionesNombreTipoColumna LocalTabla Ref.Columna de Ref.
pk_pedidos_productosPRIMARY KEYcli_id
fk_productosFOREIGN KEY prod_idproductosprod_id
fk_ordenes_pedidoFOREIGN KEY pedi_idOrdenes_pedidopedi_id
Tabla 17: Restricciones Tabla pedidos_productosFuente: Los autores2.2.9 Tabla productosN.-Nombre de ColumnaTipo de DatosNullComentarios
1prod_idintegerNoCdigo secuencial de los productos
2prod_categoriasmallintNoCdigo secuencial de categora de productos
3prod_codigocharacter varying(50)NoCdigo del producto
4prod_descripcioncharacter varying(500)NoNombre descriptivo del producto
5prod_pcpdouble precisinNOPrecio del producto
6prod_vidautilsmallintNOVida til del producto
7prod_custodiocharacter varying(50)NOCustodio del producto
8prod_tiposmallintNOTipo de producto
1prod_seriecharacter varying(50)NOSerie del producto
2prod_marcacharacter varying(100)SIMarca del producto
3prod_modelocharacter varying(100)SIModelo del producto
4prod_esctructuracharacter varying(100)NOEstructura del producto
5prod_colorcharacter varying(50)NOColor del producto
6prod_condicioncharacter varying(50)NOCondicin del producto
7prod_estadosmallintNOEstado del producto
8prod_ubicacioncharacter varying(100)NOUbicacin del producto
Tabla 18: Tabla de productosFuente: Los autores
RestriccionesNombreTipoColumna LocalTabla Ref.Columna de Ref.
pk_productosPRIMARY KEYcli_id
fk_caracteristicas_productoFOREIGN KEY prod_categoriaCategorias_productoscpro_id
Tabla 19: Restricciones Tabla productosFuente: Los autores2.2.10 Tabla proveedoresN.-Nombre de ColumnaTipo de DatosNullComentarios
1prov_idIntegerNoCdigo secuencial de los proveedores
2prov_identificacioncharacter varying(13)NoCedula o ruc del proveedor
3prov_nombrecharacter varying(80)NoNombre del proveedor
4prov_direccioncharacter varying(80)NoDireccin del proveedor
5prov_telefono1character varying(12)SITelfono del proveedor
6prov_correo1character varying(40)SICorreo electrnico del proveedor
7prov_tipointegerNoTipo de proveedor
8prov_estadosmallint NoEstado del proveedor
Tabla 20: Tabla de proveedoresFuente: Los autores RestriccionesNombreTipoColumna LocalTabla Ref.Columna de Ref.
pk_proveedoresPRIMARY KEYprov_id
Tabla 21: Restricciones Tabla proveedoresFuente: Los autores
2.2.11 Tabla usuariosN.-Nombre de ColumnaTipo de DatosNullComentarios
1usua_idintegerNoCdigo secuencial de los usuarios
2usua_logincharacter varying(15)NoLogin para el acceso al sistema
3usua_passwordcharacter varying(15)NoContrasea del usuario
4usua_nombrecharacter varying(60)NoNombres del usuario
5usua_correocharacter varying(100)SICorreo electrnico del cliente
6usua_tipointegerSIPerfil del usuario
7usua_estadosmallintNoEstado del usuario
8depa_idinteger NoCdigo secuencial de departamentos
Tabla 22: Tabla de usuariosFuente: Los autores RestriccionesNombreTipoColumna LocalTabla Ref.Columna de Ref.
pk_usuariosPRIMARY KEYusua_id
Tabla 23: Restricciones Tabla usuariosFuente: Los autores
3. FUNCIONES
3.1 ParametrizacinCada funcin del sistema de control de inventario de activos fijos y bienes comienzan con el prefijo sp seguido de un nombre el cual define su funcionamiento.3.2 Lista de FuncionesLista de las funciones del sistema de control de inventario de activos fijos con su respectiva descripcin.N.-Nombre de la FuncinDescripcin
1sp_eliminarFuncion que permite eliminar los registros de las tablas que se puedan eliminar sus datos.
2sp_guardar_categoriaFuncion que permite guardar y modificar las categoras de productos
3sp_guardar_clienteFuncion que permite guardar y modificar los registros de los clientes
4sp_guardar_departamentoFuncion que permite guardar y modificar los registros de departamentos.
5sp_guardar_orden_ingresoFuncion que permite guardar ordenes de ingreso.
6sp_guardar_orden_pedidoFuncion que permite guardar ordenes de pedido.
7sp_guardar_productoFuncion que permite guardar o modificar los registros de los productos.
8sp_guardar_proveedorFuncion que permite guardar y modificar los proveedores.
9sp_guardar_usuarioFuncion que permite guardar y modificar los registros de usuarios.
Tabla 24: Lista de FuncionesFuente: Los autores
3.2.1 Funcin sp_eliminarCDIGO
CREATE FUNCTION sp_eliminar(tabla character varying, id integer) RETURNS integer AS$BODY$begin
if(tabla = 'clientes')thenupdate clientes set cli_estado=2 where cli_id=id;return 1;end if;
if(tabla = 'productos')thenupdate productos set prod_estado=2 where prod_id=id;return 1;end if;
if(tabla = 'proveedores')thenupdate proveedores set prov_estado=2 where prov_id=id;return 1;end if;
if(tabla = 'usuarios')thenupdate usuarios set usua_estado=2 where usua_id=id;return 1;end if;end;$BODY$
Tabla 25: Funcin sp_eliminar Fuente: Los autores3.2.2 Funcin sp_guardar_categoriaCDIGO
CREATE FUNCTION sp_guardar_categoria(opcion boolean, id integer, nombre character varying) RETURNS integer AS$BODY$begin
if(opcion = '0')thenINSERT INTO categorias_producto(cpro_nombre, cpro_estado)VALUES (nombre, 1);return 1;end if;
if(opcion = '1')thenUPDATE categorias_producto SET cpro_nombre=nombreWHERE cpro_id=id ;
return 1;end if; end;$BODY$
Tabla 26: Funcin sp_guardar_categoriaFuente: Los autores
3.2.3 Funcin sp_guardar_clienteCDIGO
CREATE FUNCTION sp_guardar_cliente(opcion boolean, id integer, ruc character varying, nombres character varying, apellidos character varying, telefono1 character varying, correo1 character varying, departamento integer)
RETURNS integer AS$BODY$beginif(opcion = '0')then
INSERT INTO clientes(cli_identificacion, cli_nombres, cli_apellidos, cli_telefono, cli_correo, depa_id, cli_estado) VALUES (ruc,nombres,apellidos,telefono1,correo1,departamento,1);return 1;end if;if(opcion = '1')thenUPDATE clientes SET cli_identificacion=ruc, cli_nombres=nombres, cli_apellidos=apellidos, cli_telefono=telefono1, cli_correo=correo1, depa_id=departamentoWHERE cli_id=id ;return 1;end if;
end;$BODY$
Tabla 27: Funcin sp_guardar_cliente Fuente: Los autores
3.2.4 Funcin sp_guardar_departamentoCDIGO
CREATE FUNCTION sp_guardar_departamento(opcion boolean, id integer, nombre character varying, descripcion character varying)
RETURNS integer AS$BODY$beginif(opcion = '0')thenINSERT INTO departamentos(depa_nombre, depa_descripcion, depa_estado)VALUES (nombre, descripcion, 1); return 1;end if;
if(opcion = '1')thenUPDATE departamentos SET depa_nombre=nombre, depa_descripcion=descripcionWHERE depa_id=id; return 1;end if;
end;$BODY$
Tabla 28: Funcin sp_guardar_departamentoFuente: Los autores3.2.5 Funcin sp_guardar_orden_ingresoCDIGO
CREATE FUNCTION sp_guardar_orden_ingreso(opcion boolean, idingreso integer, idusuario integer, idproveedor integer, factura character varying, fecha character varying, cur character varying, tipo integer, acta character varying, producto integer[], cantidad integer[], precio double precision[])RETURNS integer AS$BODY$DECLAREid_ingreso int;begin if opcion = '0' THENid_ingreso=nextval('ordenes_ingreso_ingr_id_seq'::regclass);INSERT INTO ordenes_ingreso(ingr_id, usua_id, prov_id, ingr_factura, ingr_fecha, ingr_cur, ingr_tipo,ingr_acta,ingr_estado)VALUES (id_ingreso, idusuario, idproveedor, factura, fecha,cur, tipo,acta, 1);
FOR i IN 1..(ARRAY_LENGTH(producto,1)) loopINSERT INTO ingresos_productos(ingrpro_cantidad, prod_id, ingr_id,ingrpro_precio)VALUES (cantidad[i],producto[i], id_ingreso,precio[i]);
UPDATE productos set prod_pcp = precio[i] where prod_id = producto[i];
INSERT INTO movimientos_productos(prod_id, pmov_fecha, pmov_cantidad, pmov_tipo, pmov_estado)VALUES (producto[i], current_date, cantidad[i],1,1);end loop; return id_ingreso;END IF; end;$BODY$
Tabla 29: Funcin sp_guardar_orden_ingresoFuente: Los autores
3.2.6 Funcin sp_guardar_orden_pedidoCDIGO
CREATE OR REPLACE FUNCTION sp_guardar_orden_pedido(opcion boolean, idpedido integer, idcliente integer, idusuario integer, fecha_pedido character varying, observaciones character varying, tipopedido integer, acta character varying, producto integer[], cantidad integer[]) RETURNS integer AS$BODY$DECLAREid_pedido int; begin IF opcion = '0' THENid_pedido=nextval('pedidos_pedi_id_seq'::regclass);INSERT INTO ordenes_pedido(pedi_id, pedi_cliente, usua_id, pedi_fecha, pedi_observaciones, pedi_tipo,pedi_acta, pedi_estado)VALUES (id_pedido, idcliente, idusuario, fecha_pedido, observaciones, tipopedido,acta, 1);
if(array_length(producto, 1)>0)thenFOR i IN 1..(ARRAY_LENGTH(producto,1)) loop
INSERT INTO pedidos_productos(pedipro_cantidad, prod_id, pedi_id)VALUES (cantidad[i],producto[i], id_pedido );
INSERT INTO movimientos_productos(prod_id, pmov_fecha, pmov_cantidad, pmov_tipo, pmov_estado)VALUES (producto[i], current_date, -cantidad[i],2,1);
end loop; end if;return id_pedido;END IF;
IF opcion = '1' THENupdate ordenes_pedido set pedi_observaciones=observaciones, pedi_estado=2where pedi_id=idpedido;
if(array_length(producto, 1)>0)thenFOR i IN 1..(ARRAY_LENGTH(producto,1)) loopINSERT INTO movimientos_productos(prod_id, pmov_fecha, pmov_cantidad, pmov_tipo, pmov_estado)VALUES (producto[i], current_date, cantidad[i],2,1);end loop; end if;return 1;END IF; end;$BODY$
Tabla 30: Funcin sp_guardar_orden_pedidoFuente: Los autores
3.2.7 Funcin sp_guardar_productoCDIGO
CREATE OR REPLACE FUNCTION sp_guardar_producto(opcion boolean, id_producto integer, id_categoria integer, codigo_pro character varying, nombre_pro character varying, precioc double precision, vidautil integer, custodio character varying, tipo_pro integer, serie character varying, marca character varying, modelo character varying, estructura character varying, color character varying, condicion character varying, ubicacion_pro character varying, cantidad_pro integer) RETURNS integer AS$BODY$DECLAREid_pro int; begin IF opcion = '0' THENid_pro=nextval('productos_prod_id_seq'::regclass);INSERT INTO productos(prod_id,prod_categoria, prod_codigo, prod_descripcion, prod_pcp, prod_vidautil, prod_custodio, prod_tipo, prod_serie, prod_marca, prod_modelo, prod_estructura, prod_color, prod_condicion, prod_estado,prod_ubicacion)VALUES (id_pro,id_categoria, codigo_pro, nombre_pro, precioc, vidautil, custodio, tipo_pro, serie, marca, modelo, estructura, color, condicion, 1,ubicacion_pro);
INSERT INTO movimientos_productos(prod_id, pmov_fecha, pmov_cantidad, pmov_tipo, pmov_estado)VALUES (id_pro, current_date, cantidad_pro, tipo_pro, 1);
END IF;
IF opcion = '1' THENUPDATE productos SET prod_categoria=id_categoria, prod_codigo=codigo_pro, prod_descripcion=nombre_pro, prod_pcp=precioc, prod_vidautil=vidautil, prod_custodio=custodio, prod_tipo=tipo_pro, prod_serie=serie, prod_marca=marca, prod_modelo=modelo, prod_estructura=estructura, prod_color=color, prod_condicion=condicion,prod_ubicacion=ubicacion_pro WHERE prod_id=id_producto ;
END IF; return 1;end;$BODY$
Tabla 31: Funcin sp_guardar_productoFuente: Los autores
3.2.8 Funcin sp_guardar_proveedorCDIGO
CREATE OR REPLACE FUNCTION sp_guardar_proveedor(opcion boolean, id integer, ruc character varying, nombre character varying, direccion character varying, telefono1 character varying, correo1 character varying, tipo integer) RETURNS integer AS$BODY$
begin
if(opcion = '0')thenINSERT INTO proveedores(prov_identificacion, prov_nombre, prov_direccion, prov_telefono1, prov_correo1, prov_tipo, prov_estado)VALUES ( ruc, nombre, direccion, telefono1, correo1,tipo, 1);return 1;end if;
if(opcion = '1')thenUPDATE proveedores SET prov_identificacion=ruc, prov_nombre=nombre, prov_direccion=direccion, prov_telefono1=telefono1, prov_correo1=correo1,prov_tipo = tipoWHERE prov_id=id ;
return 1;end if;end;$BODY$
Tabla 32: Funcin sp_guardar_proveedorFuente: Los autores3.2.9 Funcin sp_guardar_usuarioCDIGO
CREATE OR REPLACE FUNCTION sp_guardar_usuario(opcion boolean, id integer, login character varying, pass character varying, nombres character varying, correo character varying, tipo integer) RETURNS character varying AS$BODY$
begin
if(opcion = '0')thenINSERT INTO usuarios(usua_login, usua_password, usua_nombre, usua_correo, usua_tipo, usua_estado)VALUES (login,pass,nombres,correo,tipo,1);return 'Datos Ingresados Correctamente';end if;
if(opcion = '1')thenUPDATE usuarios SET usua_login=login, usua_password=pass, usua_nombre=nombres, usua_correo=correo, usua_tipo=tipoWHERE usua_id=id;
return 'Datos Modificados Correctamente';end if;
end;$BODY$
Tabla 33: Funcin sp_guardar_usuarioFuente: Los autores