Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/02/2016, 10:23
SuperJavi
 
Fecha de Ingreso: enero-2002
Mensajes: 417
Antigüedad: 22 años, 3 meses
Puntos: 0
Triggers en SQL Server 2012

Estimados amigos. Quería haceros una consulta porque no estoy puesto en SQL Server 2012 y me ha tocado lidiar con un proyecto que hace uso de esta base de datos.

El caso es que tengo una aplicación heredad de la versión 2008, que he estado buscando pero ya nadie ofrece en los planes de hosting. He instalado la versión 2012 pero tengo problemas con los triggers que sin funciionan bien en la 2008.

Por ejemplo, este trigger:

Código SQL:
Ver original
  1. USE [BBDD]
  2. GO
  3.  
  4. SET ANSI_NULLS ON
  5. GO
  6. SET QUOTED_IDENTIFIER ON
  7. GO
  8.  
  9. ALTER TRIGGER [Seguimientos].[trLlamadas]
  10.                ON  [Seguimientos].[Llamadas]
  11.                AFTER INSERT,UPDATE,DELETE
  12.             AS
  13.             BEGIN
  14.                 BEGIN TRANSACTION
  15.                
  16.                 SET NOCOUNT ON;
  17.  
  18.                 BEGIN TRY
  19.  
  20.                 SELECT * INTO #INSERTEDTABLA FROM INSERTED
  21.                 SELECT * INTO #DELETEDTABLA FROM DELETED
  22.  
  23.                                 IdNombreTabla -> NombreTabla (ELIMINADO EL Id)
  24.                
  25.                 DECLARE @nombreTabla VARCHAR(100)
  26.                 SET @nombreTabla =  (SELECT  dbo.ObtenerNombreTablaAuditar ('tempdb.dbo.#INSERTEDTABLA'))
  27.  
  28.  
  29.                 DECLARE @Columns_Update varbinary(MAX)
  30.                 SELECT @Columns_Update = COLUMNS_UPDATED()
  31.  
  32.                 EXECUTE dbo.spAuditar @nombreTabla, @Columns_Update
  33.  
  34.             END TRY
  35.             BEGIN CATCH
  36.                
  37.                 DECLARE @CadenaCatch VARCHAR(MAX)
  38.                 SET @CadenaCatch = 'TRIGGER trLlamadas: ' + (SELECT ERROR_MESSAGE())
  39.                 RAISERROR (@CadenaCatch,16,10)
  40.  
  41.                 ROLLBACK TRANSACTION
  42.                
  43.             END CATCH
  44.                 IF (@@TRANCOUNT > 0)  COMMIT TRANSACTION   
  45.                
  46.             END
[/CODE]

Me funciona perfectamente en 2008 pero no en 2012. ¿Alguien sabe si hay alguna diferencia, algo que pueda "reprogramar" para que funcione?

Muchísimas gracias a todos.

Última edición por gnzsoloyo; 03/02/2016 a las 10:38