Professional Documents
Culture Documents
Script para generar nuestra base de datos incluyendo el llenado de algunas tablas para
pruebas
CREATE TABLE boleta (
numero_bol int4 NOT NULL PRIMARY KEY,
id_fpag int4 NULL,
id_epag int4 NULL,
fecha_bol varchar(250) NULL
)
;
create table region(
id_reg int4 NOT NULL PRIMARY KEY,
nombre_reg varchar(250)
)
;
CREATE TABLE ciudad(
id_ciud varchar(4) NOT NULL PRIMARY KEY,
nombre_ciud varchar(250),
id_reg int
)
;
CREATE TABLE cliente (
id_clie int4 NOT NULL PRIMARY KEY,
rut_clie int4 NULL,
dv_clie varchar(1) NULL,
id_reg int4 NULL,
id_ciud int4 NULL,
id_giro int4 NULL,
nombre_clie varchar(250) NULL,
apellido_clie varchar(250) NULL,
direccion_clie varchar(250) NULL,
codigo_ciudad_clie int4 NULL,
telefono_clie int4 NULL,
celular_clie int4 NULL,
email_clie int4 NULL
)
;
CREATE TABLE cotizacion (
numero_cot int4 NOT NULL PRIMARY KEY,
id_venta int4 NULL,
id_clie int4 NULL,
fecha_cot varchar(250) NULL
)
;
CREATE TABLE detalle_fact_compra (
id_comp int4 NOT NULL PRIMARY KEY,
id_prov int4 NULL,
id_rep int4 NULL,
numero_comp int4 NULL,
fecha_comp varchar(250) NULL,
cantidad_comp int4 NULL,
costo_comp int4 NULL
)
;
CREATE TABLE detalle_venta (
id_venta int4 NOT NULL,
id_rep int4 NULL,
id_usuario int4 NULL,
pventa int4 NULL,
cantidad int4 NULL
)
;
CREATE TABLE estado_pago (
id_epag int4 NOT NULL PRIMARY KEY,
descrip_epag varchar(250) NULL
)
;
CREATE TABLE facturas_venta (
numero_fact int4 NOT NULL PRIMARY KEY,
id_venta int4 NULL,
id_clie int4 NULL,
id_fpag int4 NULL,
id_epag int4 NULL,
fecha_fact varchar(250) NULL,
hora_fact varchar(250) NULL
)
;
CREATE TABLE forma_pago (
id_fpag int4 NOT NULL PRIMARY KEY,
descrip_fpag varchar(250) NULL
)
;
CREATE TABLE giro (
id_giro int4 NOT NULL PRIMARY KEY,
nombre_giro varchar(250) NULL
)
;
CREATE TABLE grupos (
id_grupo int4 NOT NULL,
codigo_grupo int4 NULL,
nombre_grupo varchar(250) NULL,
factor_grupo int4 NULL
)
;
CREATE TABLE proveedores (
id_prov int4 NOT NULL,
nombre_prov varchar(250) NULL,
direccion_prov varchar(250) NULL,
telefono_prov int4 NULL,
fax_prov int4 NULL,
contacto_prov varchar(250) NULL,
email_prov varchar(250) NULL,
cuenta_prov varchar(250) NULL
)
;
CREATE TABLE repuestos (
id_rep int4 NOT NULL PRIMARY KEY,
linea_rep varchar(1) NULL,
id_grupo int4 NULL,
id_ubicacion int4 NULL,
id_prov int4 NULL,
codigo_rep varchar(6) NULL,
descripcion_rep text NULL,
aplicacion_rep varchar(250) NULL,
stock_rep int4 NULL
)
;
CREATE TABLE ubicacion (
id_ubicacion int4 NOT NULL,
estante int4 NULL,
lado varchar(1) NULL
)
;
CREATE TABLE usuarios (
id_us int4 NOT NULL PRIMARY KEY,
nombre_us varchar(250) NULL,
apellido_us varchar(250) NULL,
login_us varchar(250) NULL,
pass_us varchar(250) NULL,
email_us varchar(250) NULL,
codigo_us varchar(6) NULL,
nivel_us int4 NULL
)
;
------------------------------------------------------------------------
INSERT INTO usuarios( id_us, nombre_us, apellido_us, login_us, pass_us, email_us,
codigo_us, nivel_us) VALUES
(1,'CRISTHIAN','BENARDOS', 'ADMINISTRADOR', 'ADMINISTRADOR',
'CRISTHIAN.BENARDOS@GMAIL.COM', '001', 1),
(2,'FABIAN','TORRES', 'VENDEDOR', 'VENDEDOR', 'FTORRESBAEZA@GMAIL.COM', '002', 2),
(3,'CLAUDIO','OYARZUN', 'BODEGERO', 'BODEGERO', 'CEE_TIME@HOTMAIL.COM', '003', 3),
(4,'GUSTAVO','DONOSO', 'CAJERO', 'CAJERO', 'GDONOSO@UCT.CL', '004', 4);
Agregar Repuesto
BEGIN
RETURN TRUE;
END
$BODY$
LANGUAGE 'plpgsql'
;
Agregar Proveedor
BEGIN
RETURN TRUE;
END
$BODY$
LANGUAGE 'plpgsql'
;
Agregar Grupo
BEGIN
RETURN TRUE;
END
$BODY$
LANGUAGE 'plpgsql'
;
Agregar Ubicación
BEGIN
RETURN TRUE;
END
$BODY$
LANGUAGE 'plpgsql'
;
Modificar Repuesto
BEGIN
RETURN TRUE;
END
$BODY$
LANGUAGE 'plpgsql'
;
Modificar Proveedor
BEGIN
RETURN TRUE;
END
$BODY$
LANGUAGE 'plpgsql'
;
Modificar Grupo
BEGIN
END
$BODY$
LANGUAGE 'plpgsql'
;
Modificar Ubicación
CREATE OR REPLACE FUNCTION "public"."modificar_ubicacion" (in int4, in int4, in
varchar) RETURNS bool AS
$BODY$
DECLARE
BEGIN
RETURN TRUE;
END
$BODY$
LANGUAGE 'plpgsql'
Eliminar Repuesto
BEGIN
END
$BODY$
LANGUAGE 'plpgsql'
Eliminar Proveedor
BEGIN
END
$BODY$
LANGUAGE 'plpgsql'
;
Eliminar Grupo
CREATE OR REPLACE FUNCTION "public"."eliminar_grupo" (in int4) RETURNS bool AS
$BODY$
DECLARE
BEGIN
END
$BODY$
LANGUAGE 'plpgsql'
;
Eliminar Ubicación
BEGIN
END
$BODY$
LANGUAGE 'plpgsql'
;
Detalle Venta
CREATE OR REPLACE FUNCTION "public"."detalle_venta" (in int4, in int4, in int4, in
int4, in int4) RETURNS bool AS
$BODY$
DECLARE
id_venta alias for $1;
id_rep alias for $2;
id_usuario alias for $3;
pventa alias for $4;
cantidad alias for $5;
BEGIN
insert into detalle_venta
values(id_venta,id_rep,id_usuario,pventa,cantidad);
RETURN TRUE;
END
$BODY$
LANGUAGE 'plpgsql'
;
Comienzo Busqueda Avanzada Ya Que Este Procedimiento esta formado por casi 1000
linea de codigo.
registro repuestos%ROWTYPE;
registro1 grupos%ROWTYPE;
registro2 ubicacion%ROWTYPE;
tabla text;
linea_rep alias for $1;
id_grupo alias for $2;
codigo_rep alias for $3;
descripcion_rep alias for $4;
aplicacion_rep alias for $5;
BEGIN
tabla:=tabla||'</table>';
RETURN tabla;
else tabla:='<table border="1"><tr><th>Linea</th><th>Nombre
Grupo</th><th>Estante</th><th>Lado (1=A, 2=B)</th><th>Codigo
Repuesto</th><th>Descripcion</th><th>Aplicacion</th><th>Stock</th><th></th><th></th
></tr>';
RETURN tabla;
end if;
.
.
.
.
END; $BODY$
LANGUAGE 'plpgsql'
;