303 lines
11 KiB
Plaintext
303 lines
11 KiB
Plaintext
|
|
delete from contactos_categorias;
|
||
|
|
delete from contactos_direcciones;
|
||
|
|
delete from contactos_datos_banco;
|
||
|
|
delete from clientes_dtos_proveedores;
|
||
|
|
delete from agentes_comisiones;
|
||
|
|
delete from clientes_datos;
|
||
|
|
delete from proveedores_datos;
|
||
|
|
delete from personal_datos;
|
||
|
|
|
||
|
|
delete from pedidos_cliente_detalles;
|
||
|
|
delete from albaranes_cliente_detalles;
|
||
|
|
delete from facturas_cliente_detalles;
|
||
|
|
delete from pagos_cliente;
|
||
|
|
delete from facturas_cliente;
|
||
|
|
delete from albaranes_cliente;
|
||
|
|
delete from pedidos_cliente;
|
||
|
|
|
||
|
|
delete from pedidos_proveedor_detalles;
|
||
|
|
delete from albaranes_proveedor_detalles;
|
||
|
|
delete from facturas_proveedor_detalles;
|
||
|
|
delete from pagos_proveedor;
|
||
|
|
delete from facturas_proveedor;
|
||
|
|
delete from albaranes_proveedor;
|
||
|
|
delete from pedidos_proveedor;
|
||
|
|
|
||
|
|
delete from comisiones_liquidadas;
|
||
|
|
delete from contactos;
|
||
|
|
|
||
|
|
|
||
|
|
Extract MetaData con cmapos blob, lanzar script en nueva base de datos
|
||
|
|
|
||
|
|
CREATE TABLE PROVEEDORES (
|
||
|
|
CODIGO VARCHAR(10) NOT NULL,
|
||
|
|
NIFCIF VARCHAR(10) CHARACTER SET ISO8859_1,
|
||
|
|
NOMBRE VARCHAR(100) CHARACTER SET ISO8859_1,
|
||
|
|
CALLE VARCHAR(150) CHARACTER SET ISO8859_1,
|
||
|
|
NUMERO VARCHAR(20) CHARACTER SET ISO8859_1,
|
||
|
|
PISO VARCHAR(20) CHARACTER SET ISO8859_1,
|
||
|
|
CODIGOPOSTAL VARCHAR(5) CHARACTER SET ISO8859_1,
|
||
|
|
POBLACION VARCHAR(40) CHARACTER SET ISO8859_1,
|
||
|
|
PROVINCIA VARCHAR(30) CHARACTER SET ISO8859_1,
|
||
|
|
TELEFONO1 VARCHAR(30) CHARACTER SET ISO8859_1,
|
||
|
|
TELEFONO2 VARCHAR(30) CHARACTER SET ISO8859_1,
|
||
|
|
FAX VARCHAR(30) CHARACTER SET ISO8859_1,
|
||
|
|
CORREO VARCHAR(60) CHARACTER SET ISO8859_1,
|
||
|
|
PERSONACONTACTO VARCHAR(100) CHARACTER SET ISO8859_1,
|
||
|
|
OBSERVACIONES BLOB SUB_TYPE 1 SEGMENT SIZE 100 CHARACTER SET ISO8859_1,
|
||
|
|
CODIGOCLIENTE VARCHAR(10),
|
||
|
|
ETIQUETADO SMALLINT,
|
||
|
|
ULTIMOCAMBIO TIMESTAMP
|
||
|
|
);
|
||
|
|
|
||
|
|
ALTER TABLE PROVEEDORES ADD CONSTRAINT PK_PROVEEDORES PRIMARY KEY (CODIGO);
|
||
|
|
|
||
|
|
CREATE TABLE SUCURSALESPROVEEDOR (
|
||
|
|
CODIGOPROVEEDOR VARCHAR(10) NOT NULL,
|
||
|
|
CODIGO SMALLINT NOT NULL,
|
||
|
|
CALLE VARCHAR(150),
|
||
|
|
NUMERO VARCHAR(20),
|
||
|
|
PISO VARCHAR(20),
|
||
|
|
CODIGOPOSTAL VARCHAR(5),
|
||
|
|
POBLACION VARCHAR(40),
|
||
|
|
PROVINCIA VARCHAR(30),
|
||
|
|
TELEFONO1 VARCHAR(30),
|
||
|
|
TELEFONO2 VARCHAR(30),
|
||
|
|
FAX VARCHAR(30),
|
||
|
|
CORREO VARCHAR(60),
|
||
|
|
PERSONACONTACTO VARCHAR(100)
|
||
|
|
);
|
||
|
|
ALTER TABLE SUCURSALESPROVEEDOR ADD CONSTRAINT PK_SUCURSALESPROVEEDOR PRIMARY KEY (CODIGOPROVEEDOR, CODIGO);
|
||
|
|
ALTER TABLE SUCURSALESPROVEEDOR ADD FOREIGN KEY (CODIGOPROVEEDOR) REFERENCES PROVEEDORES (CODIGO) ON DELETE CASCADE ON UPDATE NO ACTION;
|
||
|
|
|
||
|
|
|
||
|
|
COMMIT WORK;
|
||
|
|
|
||
|
|
/*DATOS*/
|
||
|
|
|
||
|
|
|
||
|
|
Poner generador de ID_CONTACTOS a 1
|
||
|
|
|
||
|
|
DECLARE EXTERNAL FUNCTION substr
|
||
|
|
CSTRING(255), SMALLINT, SMALLINT
|
||
|
|
RETURNS CSTRING(255) FREE_IT
|
||
|
|
ENTRY_POINT 'IB_UDF_substr' MODULE_NAME 'ib_udf';
|
||
|
|
|
||
|
|
|
||
|
|
insert into CONTACTOS
|
||
|
|
(ID, REFERENCIA, NIF_CIF, NOMBRE, CALLE, POBLACION, PROVINCIA, CODIGO_POSTAL, TELEFONO_1, TELEFONO_2,
|
||
|
|
FAX, EMAIL_1, PERSONA_CONTACTO, NOTAS)
|
||
|
|
|
||
|
|
select
|
||
|
|
GEN_ID(GEN_CONTACTOS_ID, 1),
|
||
|
|
proveedores.CODIGO AS REFERENCIA,
|
||
|
|
proveedores.NIFCIF AS NIF_CIF,
|
||
|
|
proveedores.NOMBRE AS NOMBRE,
|
||
|
|
(COALESCE(proveedores.CALLE,'') || ', ' || COALESCE(proveedores.NUMERO,'') || ' ' || COALESCE(proveedores.PISO,'')) AS CALLE,
|
||
|
|
proveedores.POBLACION AS POBLACION,
|
||
|
|
proveedores.PROVINCIA AS PROVINCIA,
|
||
|
|
proveedores.CODIGOPOSTAL AS CODIGO_POSTAL,
|
||
|
|
substr(proveedores.TELEFONO1,1,25) AS TELEFONO_1,
|
||
|
|
substr(proveedores.TELEFONO2,1,25) AS TELEFONO_2,
|
||
|
|
substr(proveedores.FAX,1,25) AS FAX,
|
||
|
|
proveedores.CORREO AS EMAIL_1,
|
||
|
|
proveedores.PERSONACONTACTO AS PERSONA_CONTACTO,
|
||
|
|
proveedores.OBSERVACIONES AS NOTAS
|
||
|
|
|
||
|
|
from proveedores;
|
||
|
|
|
||
|
|
insert into contactos_categorias
|
||
|
|
(ID_CONTACTO, ID_CATEGORIA)
|
||
|
|
select ID, 2
|
||
|
|
from contactos;
|
||
|
|
|
||
|
|
insert into proveedores_datos
|
||
|
|
(ID_PROVEEDOR, ID_TIPO_IVA)
|
||
|
|
select CONTACTOS.ID, 2
|
||
|
|
from CONTACTOS
|
||
|
|
left join contactos_categorias on contactos_categorias.id_contacto = contactos.id
|
||
|
|
where contactos_categorias.id_categoria = 2
|
||
|
|
|
||
|
|
delete from proveedores_datos
|
||
|
|
where proveedores_datos.id_proveedor in (
|
||
|
|
select CONTACTOS.ID
|
||
|
|
from CONTACTOS
|
||
|
|
left join proveedores on proveedores.codigo = contactos.referencia
|
||
|
|
WHERE proveedores.CODIGOCLIENTE is not null);
|
||
|
|
|
||
|
|
insert into proveedores_datos
|
||
|
|
(ID_PROVEEDOR, ID_TIPO_IVA, CODIGO_ASIGNADO)
|
||
|
|
|
||
|
|
select CONTACTOS.ID, 2, proveedores.CODIGOCLIENTE
|
||
|
|
from CONTACTOS
|
||
|
|
left join proveedores on proveedores.codigo = contactos.referencia
|
||
|
|
WHERE proveedores.CODIGOCLIENTE is not null;
|
||
|
|
|
||
|
|
INSERT INTO CONTACTOS_DIRECCIONES
|
||
|
|
(ID, ID_CONTACTO, CALLE, POBLACION, PROVINCIA, CODIGO_POSTAL, PERSONA_CONTACTO,
|
||
|
|
TELEFONO, MOVIL, FAX, EMAIL)
|
||
|
|
|
||
|
|
//Insertamos la sucursales de los proveedores
|
||
|
|
select
|
||
|
|
GEN_ID(GEN_CONTACTOS_DIR_ID, 1),
|
||
|
|
contactos.id AS ID_CONTACTO,
|
||
|
|
(COALESCE(sucursalesproveedor.CALLE,'') || ', ' || COALESCE(sucursalesproveedor.NUMERO,'') || ' ' || COALESCE(sucursalesproveedor.PISO,'')) AS CALLE,
|
||
|
|
sucursalesproveedor.POBLACION AS POBLACION,
|
||
|
|
sucursalesproveedor.PROVINCIA AS PROVINCIA,
|
||
|
|
sucursalesproveedor.CODIGOPOSTAL AS CODIGO_POSTAL,
|
||
|
|
sucursalesproveedor.PERSONACONTACTO AS PERSONA_CONTACTO,
|
||
|
|
substr(sucursalesproveedor.TELEFONO1,1,25) AS TELEFONO,
|
||
|
|
substr(sucursalesproveedor.TELEFONO2,1,25) AS MOVIL,
|
||
|
|
substr(sucursalesproveedor.FAX,1,25) AS FAX,
|
||
|
|
sucursalesproveedor.CORREO AS EMAIL
|
||
|
|
|
||
|
|
from sucursalesproveedor
|
||
|
|
left join contactos on contactos.referencia = sucursalesproveedor.codigoproveedor
|
||
|
|
left join contactos_categorias on contactos_categorias.id_contacto = contactos.id
|
||
|
|
where contactos_categorias.id_categoria = 2
|
||
|
|
and (COALESCE(sucursalesproveedor.CALLE,'') || ', ' || COALESCE(sucursalesproveedor.NUMERO,'') || ' ' || COALESCE(sucursalesproveedor.PISO,'')) <> ','
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
Extract MetaData con cmapos blob, lanzar script en nueva base de datos
|
||
|
|
|
||
|
|
CREATE TABLE CLIENTES (
|
||
|
|
CODIGO VARCHAR(10) NOT NULL,
|
||
|
|
NIFCIF VARCHAR(10) CHARACTER SET ISO8859_1,
|
||
|
|
NOMBRE VARCHAR(100) CHARACTER SET ISO8859_1,
|
||
|
|
CALLE VARCHAR(150) CHARACTER SET ISO8859_1,
|
||
|
|
NUMERO VARCHAR(20) CHARACTER SET ISO8859_1,
|
||
|
|
PISO VARCHAR(20) CHARACTER SET ISO8859_1,
|
||
|
|
CODIGOPOSTAL VARCHAR(5) CHARACTER SET ISO8859_1,
|
||
|
|
POBLACION VARCHAR(40) CHARACTER SET ISO8859_1,
|
||
|
|
PROVINCIA VARCHAR(30) CHARACTER SET ISO8859_1,
|
||
|
|
TELEFONO1 VARCHAR(30) CHARACTER SET ISO8859_1,
|
||
|
|
TELEFONO2 VARCHAR(30) CHARACTER SET ISO8859_1,
|
||
|
|
FAX VARCHAR(30) CHARACTER SET ISO8859_1,
|
||
|
|
CORREO VARCHAR(60) CHARACTER SET ISO8859_1,
|
||
|
|
PERSONACONTACTO VARCHAR(100) CHARACTER SET ISO8859_1,
|
||
|
|
OBSERVACIONES BLOB SUB_TYPE 1 SEGMENT SIZE 100 CHARACTER SET ISO8859_1,
|
||
|
|
BANCO VARCHAR(100) CHARACTER SET ISO8859_1,
|
||
|
|
IVA FLOAT DEFAULT 0,
|
||
|
|
DESCUENTO FLOAT DEFAULT 0,
|
||
|
|
TIPOCLIENTE VARCHAR(50) CHARACTER SET ISO8859_1,
|
||
|
|
ETIQUETADO SMALLINT,
|
||
|
|
ULTIMOCAMBIO TIMESTAMP
|
||
|
|
);
|
||
|
|
ALTER TABLE CLIENTES ADD CONSTRAINT PK_CLIENTES PRIMARY KEY (CODIGO);
|
||
|
|
|
||
|
|
CREATE TABLE SUCURSALESCLIENTE (
|
||
|
|
CODIGOCLIENTE VARCHAR(10) NOT NULL,
|
||
|
|
CODIGO SMALLINT NOT NULL,
|
||
|
|
CALLE VARCHAR(150),
|
||
|
|
NUMERO VARCHAR(20),
|
||
|
|
PISO VARCHAR(20),
|
||
|
|
CODIGOPOSTAL VARCHAR(5),
|
||
|
|
POBLACION VARCHAR(40),
|
||
|
|
PROVINCIA VARCHAR(30),
|
||
|
|
TELEFONO1 VARCHAR(30),
|
||
|
|
TELEFONO2 VARCHAR(30),
|
||
|
|
FAX VARCHAR(30),
|
||
|
|
CORREO VARCHAR(60),
|
||
|
|
PERSONACONTACTO VARCHAR(100)
|
||
|
|
);
|
||
|
|
ALTER TABLE SUCURSALESCLIENTE ADD CONSTRAINT PK_SUCURSALESCLIENTE PRIMARY KEY (CODIGOCLIENTE, CODIGO);
|
||
|
|
ALTER TABLE SUCURSALESCLIENTE ADD FOREIGN KEY (CODIGOCLIENTE) REFERENCES CLIENTES (CODIGO) ON DELETE CASCADE ON UPDATE NO ACTION;
|
||
|
|
|
||
|
|
|
||
|
|
insert into CONTACTOS
|
||
|
|
(ID, REFERENCIA, NIF_CIF, NOMBRE, CALLE, POBLACION, PROVINCIA, CODIGO_POSTAL, TELEFONO_1, TELEFONO_2,
|
||
|
|
FAX, EMAIL_1, PERSONA_CONTACTO, NOTAS)
|
||
|
|
|
||
|
|
select
|
||
|
|
GEN_ID(GEN_CONTACTOS_ID, 1),
|
||
|
|
clientes.CODIGO AS REFERENCIA,
|
||
|
|
clientes.NIFCIF AS NIF_CIF,
|
||
|
|
clientes.NOMBRE AS NOMBRE,
|
||
|
|
(COALESCE(clientes.CALLE,'') || ', ' || COALESCE(clientes.NUMERO,'') || ' ' || COALESCE(clientes.PISO,'')) AS CALLE,
|
||
|
|
clientes.POBLACION AS POBLACION,
|
||
|
|
clientes.PROVINCIA AS PROVINCIA,
|
||
|
|
clientes.CODIGOPOSTAL AS CODIGO_POSTAL,
|
||
|
|
substr(clientes.TELEFONO1,1,25) AS TELEFONO_1,
|
||
|
|
substr(clientes.TELEFONO2,1,25) AS TELEFONO_2,
|
||
|
|
substr(clientes.FAX,1,25) AS FAX,
|
||
|
|
clientes.CORREO AS EMAIL_1,
|
||
|
|
clientes.PERSONACONTACTO AS PERSONA_CONTACTO,
|
||
|
|
clientes.OBSERVACIONES AS NOTAS
|
||
|
|
|
||
|
|
from clientes;
|
||
|
|
|
||
|
|
|
||
|
|
insert into contactos_categorias
|
||
|
|
(ID_CONTACTO, ID_CATEGORIA)
|
||
|
|
select ID, 1
|
||
|
|
from contactos
|
||
|
|
where ID not in (select ID_CONTACTO from contactos_categorias);
|
||
|
|
|
||
|
|
|
||
|
|
MIRAR SI TODOS LOS CLIENTES TIENEN DESCUENTO NULL
|
||
|
|
select *
|
||
|
|
from clientes
|
||
|
|
where descuento is not null;
|
||
|
|
|
||
|
|
|
||
|
|
MIRAR SI TODOS LOS CLIENTES TIENEN IVA 16%
|
||
|
|
select DISTINCT IVA
|
||
|
|
from clientes;
|
||
|
|
|
||
|
|
//Establecemos el tipo de iva al 16 para todos los clientes
|
||
|
|
insert into clientes_datos
|
||
|
|
(ID_CLIENTE, ID_TIPO_IVA)
|
||
|
|
select CONTACTOS.ID, 2
|
||
|
|
from CONTACTOS
|
||
|
|
left join contactos_categorias on contactos_categorias.id_contacto = contactos.id
|
||
|
|
where contactos_categorias.id_categoria = 1;
|
||
|
|
|
||
|
|
SET GENERATOR GEN_CONTACTOS_DATOS_BANCO_ID TO 1;
|
||
|
|
|
||
|
|
|
||
|
|
insert into contactos_datos_banco
|
||
|
|
(ID, ID_contacto, titular)
|
||
|
|
|
||
|
|
select GEN_ID(GEN_CONTACTOS_DATOS_BANCO_ID, 1), CONTACTOS.ID, clientes.banco
|
||
|
|
from CONTACTOS
|
||
|
|
left join clientes on clientes.codigo = contactos.referencia
|
||
|
|
WHERE clientes.banco is not null;
|
||
|
|
|
||
|
|
|
||
|
|
//Insertamos la distintas sucursales de cliente
|
||
|
|
INSERT INTO CONTACTOS_DIRECCIONES
|
||
|
|
(ID, ID_CONTACTO, CALLE, POBLACION, PROVINCIA, CODIGO_POSTAL, PERSONA_CONTACTO,
|
||
|
|
TELEFONO, MOVIL, FAX, EMAIL)
|
||
|
|
|
||
|
|
select
|
||
|
|
|
||
|
|
GEN_ID(GEN_CONTACTOS_DIR_ID, 1),
|
||
|
|
contactos.id AS ID_CONTACTO,
|
||
|
|
(COALESCE(sucursalescliente.CALLE,'') || ', ' || COALESCE(sucursalescliente.NUMERO,'') || ' ' || COALESCE(sucursalescliente.PISO,'')) AS CALLE,
|
||
|
|
sucursalescliente.POBLACION AS POBLACION,
|
||
|
|
sucursalescliente.PROVINCIA AS PROVINCIA,
|
||
|
|
sucursalescliente.CODIGOPOSTAL AS CODIGO_POSTAL,
|
||
|
|
sucursalescliente.PERSONACONTACTO AS PERSONA_CONTACTO,
|
||
|
|
substr(sucursalescliente.TELEFONO1,1,25) AS TELEFONO,
|
||
|
|
substr(sucursalescliente.TELEFONO2,1,25) AS MOVIL,
|
||
|
|
substr(sucursalescliente.FAX,1,25) AS FAX,
|
||
|
|
sucursalescliente.CORREO AS EMAIL
|
||
|
|
|
||
|
|
from sucursalescliente
|
||
|
|
left join contactos on contactos.referencia = sucursalescliente.codigocliente
|
||
|
|
left join contactos_categorias on contactos_categorias.id_contacto = contactos.id
|
||
|
|
where contactos_categorias.id_categoria = 1
|
||
|
|
and (COALESCE(sucursalescliente.CALLE,'') || ', ' || COALESCE(sucursalescliente.NUMERO,'') || ' ' || COALESCE(sucursalescliente.PISO,'')) <> ','
|
||
|
|
|
||
|
|
|
||
|
|
drop table sucursalesproveedor;
|
||
|
|
DROP TABLE PROVEEDORES;
|
||
|
|
drop table sucursalescliente;
|
||
|
|
DROP TABLE CLIENTES;
|
||
|
|
|
||
|
|
|
||
|
|
insert into empresas_contactos
|
||
|
|
(ID_empresa, ID_contacto)
|
||
|
|
select 1, id
|
||
|
|
from contactos;
|