Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    trigger per update in sql-server

    ho creato il seguente trigger per sql-server:

    CREATE TRIGGER annullaCosti ON [dbo].[WS_AttivitaPianoProgetto]
    FOR UPDATE
    AS
    IF UPDATE (annullata)
    BEGIN
    UPDATE c SET annullato='1'
    from [dbo].[WS_AttivtaCosto] c
    END

    controlla se è stat aggiornato il campo annullata in una tabella e in quel caso aggiorna a 1 il campo annullato dell'altra tabella.
    ecco vorrei che facesse questa cosa ma vorrei poter mettere un where nell'update che lega l'idAttivita (del record modificato) della prima tabella con l'idAttivita(del record da modificare) della seconda, altrimenti me li aggiorna tutti. qualcosa tipo :

    CREATE TRIGGER annullaCosti ON [dbo].[WS_AttivitaPianoProgetto]
    FOR UPDATE
    AS
    IF UPDATE (annullata)
    BEGIN
    UPDATE c SET annullato='1'
    from [dbo].[WS_AttivtaCosto] c, [dbo].[WS_AttivitaPianoProgetto] w where c.idAttivitaPianoProgetto =w. idAttivitaPianoProgetto
    END

    ma cosi non funziona. qualcuno sa come?

  2. #2
    Utente di HTML.it L'avatar di Gioba66
    Registrato dal
    Jun 2002
    Messaggi
    2,189
    WS_AttivtaCosto è una tabella e si chiama così?
    ricontrolla i nomi
    Tutti vogliono parlare, nessuno sa ascoltare.

  3. #3
    trovat, ho aggiunto anche unaltro controllo

    CREATE TRIGGER annullaCosti ON [dbo].[WS_AttivitaPianoProgetto]
    FOR UPDATE
    AS
    IF UPDATE (annullata)
    BEGIN
    DECLARE @id INT
    SELECT @id = idAttivitaPianoProgetto FROM deleted

    DECLARE @value INT
    SELECT @value = annullata FROM inserted
    IF ( @value ='1')
    BEGIN
    UPDATE c SET annullato='1'
    from [dbo].[WS_AttivtaCosto] c, [dbo].[WS_AttivitaPianoProgetto] w where c.idAttivitaPianoProgetto = @id
    END
    END

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.