codice:
USE [mydb]
GO
/****** Object: Trigger [dbo].[lancio_sp_caricamento_dati] Script Date: 02/26/2011 14:20:22 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Description: <Modification d'un indicateur provoque une MAJ de la date de modification du plan>
-- =============================================
ALTER TRIGGER [dbo].[lancio_sp_caricamento_dati] ON [dbo].[_Caricamenti_Batch]
FOR UPDATE
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
DECLARE @codice_sp as nvarchar(250);
DECLARE @sp as nvarchar(250);
DECLARE @Eseguire as nchar(10);
DECLARE @Risultato as nvarchar(250);
DECLARE @return_value int;
select @codice_sp = codice_sp, @sp = sp, @Eseguire = Eseguire from inserted
BEGIN TRY
if @Eseguire = 'S'
BEGIN
EXEC @return_value = @sp
IF @return_value = 0
BEGIN
SET @Risultato = 'La procedura è terminata con successo'
END
update dbo._Caricamenti_Batch
set data_esecuzione = getdate(), risultato = @Risultato, eseguire = 'N'
where codice_sp = @codice_sp
END
END TRY
BEGIN CATCH
SELECT @Risultato = text
FROM sys.messages
WHERE message_id = (SELECT ERROR_NUMBER() AS ErrorNumber) and language_id = 1040;
SET @Risultato = 'ERRORE: ' + @Risultato;
update dbo._Caricamenti_Batch
set data_esecuzione = getdate(), risultato = @Risultato, eseguire = 'N'
where codice_sp = @codice_sp
END CATCH
END
Questo è il codice del trigger, se la SP contenuta nel campo @SP non esiste va in errore
questo è l'errore
http://img39.imageshack.us/img39/9850/errorebi.jpg