dbo.carga_clientes_productos_new

Description

Properties

Name Value
ANSI Nulls ON

True

Quoted Identifier ON

True

Encrypted

False

Execute As
Assembly

SQL Script

Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO

CREATE OR ALTER PROCEDURE dbo.carga_clientes_productos_new
AS
BEGIN
    SET NOCOUNT ON;

 -- completo el campo clientes en la tabla transitoria
 update clientes_productos_11 
 set cliente = (select cliente from clientes_new where cli_codigo = CLIENTES_PRODUCTOS_11.cli_codigo)

 update clientes_productos_11 set activo = '1'

 -- cargo en la tabla definitiva
 insert into clientes_productos_new(cliente, cli_codigo, id_producto, limite_consumo, fecha_desde, fecha_hasta, tipo_paquete, consumido, bloquear_consumo, activo)
 select cliente, cli_codigo, id_producto, limite_consumo, fecha_desde, fecha_hasta, tipo_paquete, consumido, 
 CASE bloquear_consumo WHEN '1' THEN 1 ELSE 0 end, 
 CASE activo WHEN '1' THEN 1 ELSE 0 end
 from CLIENTES_PRODUCTOS_11
 where cliente is not null

 -- en la transitoria quedan los que no podemos encontrar el cliente en la tabla clientes
 delete from CLIENTES_PRODUCTOS_11
 where cliente is not null

 -- paso a nulas las fechas que estaban vacias.
 update clientes_productos_new
 set fecha_desde = null where fecha_desde = '1900-01-01'

 update clientes_productos_new
 set fecha_hasta = null where fecha_hasta = '1900-01-01'

 -- paso a libres los paquetes que en informix no tienen tipo de paquete
 update clientes_productos_new set tipo_paquete = 'I' where tipo_paquete = ''

END 

GO

Used By

No items found