Skip to content

Instantly share code, notes, and snippets.

@alfonsomozkoh
Created November 16, 2018 15:42
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save alfonsomozkoh/00692014c9660dcceb13f8e12bb7c789 to your computer and use it in GitHub Desktop.
Save alfonsomozkoh/00692014c9660dcceb13f8e12bb7c789 to your computer and use it in GitHub Desktop.
Selecciona el ultimo registro según la tabla solicitada para su modificación, ejemplo se select max, declare, y multiples procesos dentro de un SP
USE [ZSINO]
GO
/****** Object: StoredProcedure [dbo].[usp_SINO_Solicita_Ultimo_Registro] Script Date: 11/16/2018 09:26:36 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: Alfonso Mosco Herrera
-- Create date: 8-11-2018
-- Description: Selecciona el ultimo registro segun la tabla solicitada para su modificacion
-- =============================================
ALTER PROCEDURE [dbo].[usp_SINO_Solicita_Ultimo_Registro]
(
@TABLA_CONSULTA NVARCHAR(200)
)
AS
BEGIN
DECLARE @ULTIMO_AÑO INT
DECLARE @ULTIMO_MES INT
------------------
IF @TABLA_CONSULTA = 'SINOXCarga001_ProduccionHidrocarburosLiquidos'
BEGIN
--ELEGIMOS ULTIMO AÑO REGISTRO
SELECT @ULTIMO_AÑO = MAX([SINOXCarga001_Año])
FROM [ZSINO].[dbo].[SINOXCarga001_ProduccionHidrocarburosLiquidos]
--ELEGIMOS ULTIMO MES DEL AÑO DEL ULTIMO REGISTRO
SELECT @ULTIMO_MES = MAX([SINOXCarga001_Mes])
FROM [ZSINO].[dbo].[SINOXCarga001_ProduccionHidrocarburosLiquidos]
WHERE [SINOXCarga001_Año] = @ULTIMO_AÑO
-- BUSCAMOS ESE REGISTRO
SELECT * FROM [ZSINO].[dbo].[SINOXCarga001_ProduccionHidrocarburosLiquidos]
WHERE [SINOXCarga001_Año] = @ULTIMO_AÑO AND [SINOXCarga001_Mes] = @ULTIMO_MES
END
------------------
IF @TABLA_CONSULTA = 'SINOXCarga002_ProduccionGasNatual'
BEGIN
--ELEGIMOS ULTIMO AÑO REGISTRO
SELECT @ULTIMO_AÑO = MAX([SINOXCarga002_Año])
FROM [ZSINO].[dbo].[SINOXCarga002_ProduccionGasNatual]
--ELEGIMOS ULTIMO MES DEL AÑO DEL ULTIMO REGISTRO
SELECT @ULTIMO_MES = MAX([SINOXCarga002_Mes])
FROM [ZSINO].[dbo].[SINOXCarga002_ProduccionGasNatual]
WHERE [SINOXCarga002_Año] = @ULTIMO_AÑO
-- BUSCAMOS ESE REGISTRO
SELECT * FROM [ZSINO].[dbo].[SINOXCarga002_ProduccionGasNatual]
WHERE [SINOXCarga002_Año] = @ULTIMO_AÑO AND [SINOXCarga002_Mes] = @ULTIMO_MES
END
------------------
IF @TABLA_CONSULTA = 'SINOXCarga003_Proceso_GasLiquidosFraccionados'
BEGIN
--ELEGIMOS ULTIMO AÑO REGISTRO
SELECT @ULTIMO_AÑO = MAX([SINOXCarga003_Año])
FROM [ZSINO].[dbo].[SINOXCarga003_Proceso_GasLiquidosFraccionados]
--ELEGIMOS ULTIMO MES DEL AÑO DEL ULTIMO REGISTRO
SELECT @ULTIMO_MES = MAX([SINOXCarga003_Mes])
FROM [ZSINO].[dbo].[SINOXCarga003_Proceso_GasLiquidosFraccionados]
WHERE [SINOXCarga003_Año] = @ULTIMO_AÑO
-- BUSCAMOS ESE REGISTRO
SELECT * FROM [ZSINO].[dbo].[SINOXCarga003_Proceso_GasLiquidosFraccionados]
WHERE [SINOXCarga003_Año] = @ULTIMO_AÑO AND [SINOXCarga003_Mes] = @ULTIMO_MES
END
------------------
IF @TABLA_CONSULTA = 'SINOXCarga004_Proceso_Gas'
BEGIN
--ELEGIMOS ULTIMO AÑO REGISTRO
SELECT @ULTIMO_AÑO = MAX([SINOXCarga004_Año])
FROM [ZSINO].[dbo].[SINOXCarga004_Proceso_Gas]
--ELEGIMOS ULTIMO MES DEL AÑO DEL ULTIMO REGISTRO
SELECT @ULTIMO_MES = MAX([SINOXCarga004_Mes])
FROM [ZSINO].[dbo].[SINOXCarga004_Proceso_Gas]
WHERE [SINOXCarga004_Año] = @ULTIMO_AÑO
-- BUSCAMOS ESE REGISTRO
SELECT * FROM [ZSINO].[dbo].[SINOXCarga004_Proceso_Gas]
WHERE [SINOXCarga004_Año] = @ULTIMO_AÑO AND [SINOXCarga004_Mes] = @ULTIMO_MES
END
------------------
IF @TABLA_CONSULTA = 'SINOXCarga005_ProductoPetroquimicos'
BEGIN
--ELEGIMOS ULTIMO AÑO REGISTRO
SELECT @ULTIMO_AÑO = MAX([SINOXCarga005_Año])
FROM [ZSINO].[dbo].[SINOXCarga005_ProductoPetroquimicos]
--ELEGIMOS ULTIMO MES DEL AÑO DEL ULTIMO REGISTRO
SELECT @ULTIMO_MES = MAX([SINOXCarga005_Mes])
FROM [ZSINO].[dbo].[SINOXCarga005_ProductoPetroquimicos]
WHERE [SINOXCarga005_Año] = @ULTIMO_AÑO
-- BUSCAMOS ESE REGISTRO
SELECT * FROM [ZSINO].[dbo].[SINOXCarga005_ProductoPetroquimicos]
WHERE [SINOXCarga005_Año] = @ULTIMO_AÑO AND [SINOXCarga005_Mes] = @ULTIMO_MES
END
------------------
IF @TABLA_CONSULTA = 'SINOXCarga006_ImportacionEtanol'
BEGIN
--ELEGIMOS ULTIMO AÑO REGISTRO
SELECT @ULTIMO_AÑO = MAX([SINOXCarga006_Año])
FROM [ZSINO].[dbo].[SINOXCarga006_ImportacionEtanol]
--ELEGIMOS ULTIMO MES DEL AÑO DEL ULTIMO REGISTRO
SELECT @ULTIMO_MES = MAX([SINOXCarga006_Mes])
FROM [ZSINO].[dbo].[SINOXCarga006_ImportacionEtanol]
WHERE [SINOXCarga006_Año] = @ULTIMO_AÑO
-- BUSCAMOS ESE REGISTRO
SELECT * FROM [ZSINO].[dbo].[SINOXCarga006_ImportacionEtanol]
WHERE [SINOXCarga006_Año] = @ULTIMO_AÑO AND [SINOXCarga006_Mes] = @ULTIMO_MES
END
--------------------
--ESTE SE REALIZO APARTE YA QUE ES BAJO DEMANDA DEL REGISTRO A MODIFICAR
IF @TABLA_CONSULTA = 'SINOXCarga007_GasNatualComplejos'
BEGIN
DECLARE @ORIGEN VARCHAR(20)
DECLARE @TIPO VARCHAR(50)
DECLARE @REGION VARCHAR(50)
DECLARE @COMPLEJO VARCHAR(50)
--ELEGIMOS ULTIMO AÑO REGISTRO
SELECT @ULTIMO_AÑO = MAX([SINOXCarga007_Año])
FROM [ZSINO].[dbo].[SINOXCarga007_GasNatualComplejos]
--ELEGIMOS ULTIMO MES DEL AÑO DEL ULTIMO REGISTRO
SELECT @ULTIMO_MES = MAX([SINOXCarga007_Mes])
FROM [ZSINO].[dbo].[SINOXCarga007_GasNatualComplejos]
WHERE [SINOXCarga007_Año] = @ULTIMO_AÑO
--ELEGIMOS AHORA ORIGEN
SELECT @ORIGEN = MAX([SINOXCarga007_Origen])
FROM [ZSINO].[dbo].[SINOXCarga007_GasNatualComplejos]
WHERE [SINOXCarga007_Año] = @ULTIMO_AÑO AND [SINOXCarga007_Mes] = @ULTIMO_MES
--ELEGIMOS AHORA TIPO
SELECT @TIPO = MAX([SINOXCarga007_Tipo])
FROM [ZSINO].[dbo].[SINOXCarga007_GasNatualComplejos]
WHERE [SINOXCarga007_Año] = @ULTIMO_AÑO AND [SINOXCarga007_Mes] = @ULTIMO_MES AND [SINOXCarga007_Origen] = @ORIGEN
--ELEGIMOS REGION
SELECT @REGION = MAX([SINOXCarga007_Region])
FROM [ZSINO].[dbo].[SINOXCarga007_GasNatualComplejos]
WHERE [SINOXCarga007_Año] = @ULTIMO_AÑO AND [SINOXCarga007_Mes] = @ULTIMO_MES AND [SINOXCarga007_Origen] = @ORIGEN AND [SINOXCarga007_Tipo] = @TIPO
--POR ULTIMO ELEGIMOS COMPLEJO PARA REALIZAR LA BUSQUEDA
SELECT @COMPLEJO = MAX([SINOXCarga007_Complejo])
FROM [ZSINO].[dbo].[SINOXCarga007_GasNatualComplejos]
WHERE [SINOXCarga007_Año] = @ULTIMO_AÑO AND [SINOXCarga007_Mes] = @ULTIMO_MES AND [SINOXCarga007_Origen] = @ORIGEN AND [SINOXCarga007_Tipo] = @TIPO AND [SINOXCarga007_Region] = @REGION
-- BUSCAMOS ESE REGISTRO
SELECT * FROM [ZSINO].[dbo].[SINOXCarga007_GasNatualComplejos]
WHERE [SINOXCarga007_Año] = @ULTIMO_AÑO AND [SINOXCarga007_Mes] = @ULTIMO_MES AND [SINOXCarga007_Origen] = @ORIGEN AND [SINOXCarga007_Tipo] = @TIPO AND [SINOXCarga007_Region] = @REGION AND [SINOXCarga007_Complejo] = @COMPLEJO
END
END
--EXEC usp_SINO_Solicita_Ultimo_Registro 'SINOXCarga007_GasNatualComplejos'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment