Last active
November 10, 2018 03:33
-
-
Save alfonsomozkoh/96378e5d4dfdc782ac87ef4f5e934294 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
USE [ZOXIMPEXP] | |
GO | |
/****** Object: StoredProcedure [dbo].[usp_OXIEMP_Imp_PreAnalisis_Actualiza_registro] Script Date: 10/25/2018 10:33:53 ******/ | |
SET ANSI_NULLS ON | |
GO | |
SET QUOTED_IDENTIFIER ON | |
GO | |
-- ============================================= | |
-- Author: Alfonso Mosco H. | |
-- Create date: 24-10-2018 | |
-- Description: Actualiza un registro especifico de la tabla Pre analisis importaciones a demanda de usuario desde el sitio web | |
-- ============================================= | |
ALTER PROCEDURE [dbo].[usp_OXIEMP_Imp_PreAnalisis_Actualiza_registro] | |
-- Add the parameters for the stored procedure here | |
( | |
@STR_IMP_EXP VARCHAR(100), | |
@INT_ID INT, | |
@PAIS VARCHAR(50), | |
@IMPORTADOR_H VARCHAR(100), | |
@FAMILIA VARCHAR(100), | |
@PRODUCTOS VARCHAR(100), | |
@CLASIFICACION VARCHAR(150), | |
@DESCRIP_QUIM VARCHAR(100), | |
@CONTRATIPO VARCHAR(100), | |
@PROVEEDOR_H VARCHAR(100) | |
) | |
AS | |
BEGIN | |
--yo primero valido que la tabla sea la indicada | |
IF @STR_IMP_EXP = 'OXIMP004_FraccionPreAnalisis' | |
--inicias una estructura de control try catch para no quemar el atole | |
BEGIN TRY | |
--validas si existe el registro que vas a actualizar en este caso con un select count | |
IF (SELECT COUNT(*) FROM [ZOXIMPEXP].[dbo].[OXIMP004_FraccionPreAnalisis] WHERE [OXIMP004_ID_IN] = @INT_ID) = 1 | |
--inicias una transacción | |
BEGIN TRANSACTION UPDATE_IMP_PA; | |
--en mi caso es un update y un insert a la vez en diferentes tablas segun el comportamiento de las variables | |
UPDATE OXIMP004_FraccionPreAnalisis | |
SET | |
[OXIMP004_PaisHomologado_ST] = @PAIS | |
,[OXIMP004_ImportadorHomologado_ST] = @IMPORTADOR_H | |
,[OXIMP004_Familia_ST] = @FAMILIA | |
,[OXIMP004_ProductoIdentificados_ST] = @PRODUCTOS | |
,[OXIMP004_Clasificacion_ST] = @CLASIFICACION | |
,[OXIMP004_DescripcionQuimica_ST] = @DESCRIP_QUIM | |
,[OXIMP004_Contratipo_ST] = @CONTRATIPO | |
,[OXIMP004_ProveedorHomologado_ST] = @PROVEEDOR_H | |
WHERE [OXIMP004_ID_IN] = @INT_ID | |
--ACTUALIZAMOS EL ESTATUS DE LAS BANDERAS | |
--STATUS DE PAIS | |
IF @PAIS <> 'INFORMACIÓN INSUFICIENTE' | |
BEGIN | |
UPDATE [ZOXIMPEXP].[dbo].[OXIMP004_FraccionPreAnalisis] | |
SET [OXIMP004_PaisH_BT] = 1 | |
WHERE [OXIMP004_ID_IN] = @INT_ID | |
END | |
ELSE | |
BEGIN | |
UPDATE [ZOXIMPEXP].[dbo].[OXIMP004_FraccionPreAnalisis] | |
SET [OXIMP004_PaisH_BT] = 0 | |
WHERE [OXIMP004_ID_IN] = @INT_ID | |
END | |
--IMPORTADOR | |
IF @IMPORTADOR_H <> 'INFORMACIÓN INSUFICIENTE' | |
BEGIN | |
UPDATE [ZOXIMPEXP].[dbo].[OXIMP004_FraccionPreAnalisis] | |
SET OXIMP004_ImportadorH_BT = 1 | |
WHERE [OXIMP004_ID_IN] = @INT_ID | |
END | |
ELSE | |
BEGIN | |
UPDATE [ZOXIMPEXP].[dbo].[OXIMP004_FraccionPreAnalisis] | |
SET OXIMP004_ImportadorH_BT = 0 | |
WHERE [OXIMP004_ID_IN] = @INT_ID | |
END | |
--FAMILIA | |
IF @FAMILIA <> 'INFORMACIÓN INSUFICIENTE' | |
BEGIN | |
UPDATE [ZOXIMPEXP].[dbo].[OXIMP004_FraccionPreAnalisis] | |
SET OXIMP004_Familia_BT = 1 | |
WHERE [OXIMP004_ID_IN] = @INT_ID | |
END | |
ELSE | |
BEGIN | |
UPDATE [ZOXIMPEXP].[dbo].[OXIMP004_FraccionPreAnalisis] | |
SET OXIMP004_Familia_BT = 0 | |
WHERE [OXIMP004_ID_IN] = @INT_ID | |
END | |
--PRODUCTOS IDENTIFICADOS | |
IF @PRODUCTOS <> 'INFORMACIÓN INSUFICIENTE' | |
BEGIN | |
UPDATE [ZOXIMPEXP].[dbo].[OXIMP004_FraccionPreAnalisis] | |
SET OXIMP004_ProductoIdentificados_BT = 1 | |
WHERE [OXIMP004_ID_IN] = @INT_ID | |
END | |
ELSE | |
BEGIN | |
UPDATE [ZOXIMPEXP].[dbo].[OXIMP004_FraccionPreAnalisis] | |
SET OXIMP004_ProductoIdentificados_BT = 0 | |
WHERE [OXIMP004_ID_IN] = @INT_ID | |
END | |
--CLASIFICACION | |
IF @CLASIFICACION <> 'INFORMACIÓN INSUFICIENTE' | |
BEGIN | |
UPDATE [ZOXIMPEXP].[dbo].[OXIMP004_FraccionPreAnalisis] | |
SET OXIMP004_Clasificacion_BT = 1 | |
WHERE [OXIMP004_ID_IN] = @INT_ID | |
END | |
ELSE | |
BEGIN | |
UPDATE [ZOXIMPEXP].[dbo].[OXIMP004_FraccionPreAnalisis] | |
SET OXIMP004_Clasificacion_BT = 0 | |
WHERE [OXIMP004_ID_IN] = @INT_ID | |
END | |
--DESCRIPCION QUIMICA | |
IF @DESCRIP_QUIM <> 'INFORMACIÓN INSUFICIENTE' | |
BEGIN | |
UPDATE [ZOXIMPEXP].[dbo].[OXIMP004_FraccionPreAnalisis] | |
SET OXIMP004_DescripcionQuimica_BT = 1 | |
WHERE [OXIMP004_ID_IN] = @INT_ID | |
END | |
ELSE | |
BEGIN | |
UPDATE [ZOXIMPEXP].[dbo].[OXIMP004_FraccionPreAnalisis] | |
SET OXIMP004_DescripcionQuimica_BT = 0 | |
WHERE [OXIMP004_ID_IN] = @INT_ID | |
END | |
--CONTRATIPO | |
IF @CONTRATIPO <> 'INFORMACIÓN INSUFICIENTE' | |
BEGIN | |
UPDATE [ZOXIMPEXP].[dbo].[OXIMP004_FraccionPreAnalisis] | |
SET OXIMP004_Contratipo_BT = 1 | |
WHERE [OXIMP004_ID_IN] = @INT_ID | |
END | |
ELSE | |
BEGIN | |
UPDATE [ZOXIMPEXP].[dbo].[OXIMP004_FraccionPreAnalisis] | |
SET OXIMP004_Contratipo_BT = 0 | |
WHERE [OXIMP004_ID_IN] = @INT_ID | |
END | |
--PROVEEDOR | |
IF @PROVEEDOR_H <> 'INFORMACIÓN INSUFICIENTE' | |
BEGIN | |
UPDATE [ZOXIMPEXP].[dbo].[OXIMP004_FraccionPreAnalisis] | |
SET OXIMP004_ProveedorH_BT = 1 | |
WHERE [OXIMP004_ID_IN] = @INT_ID | |
END | |
ELSE | |
BEGIN | |
UPDATE [ZOXIMPEXP].[dbo].[OXIMP004_FraccionPreAnalisis] | |
SET OXIMP004_ProveedorH_BT = 0 | |
WHERE [OXIMP004_ID_IN] = @INT_ID | |
END | |
--aqui mandas a concluir la transaccion si y solo si la estructura try dice que esta todo bien | |
COMMIT TRANSACTION UPDATE_IMP_PA; | |
END TRY | |
BEGIN CATCH | |
-- si no, el rollback deshace todo para que no se llene la base a lo sope :D | |
ROLLBACK TRANSACTION UPDATE_IMP_PA; | |
END CATCH | |
END | |
GO |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment