Visualizzazione dei risultati da 1 a 5 su 5

Visualizzazione discussione

  1. #4
    Io userei un trigger BEFORE DELETE FOR EACH ROW. Qui un esempio che mi ero salvato tempo fa per MySQL, visto che mi serviva:
    codice:
    DELIMITER $$
    
    CREATE TRIGGER nome_trigger
    BEFORE DELETE ON nome_tabella
    FOR EACH ROW
    BEGIN
    
      IF condizione THEN -- Will only abort deletion for specified IDs
        SIGNAL SQLSTATE '45000' -- "unhandled user-defined exception" (consigliato come da documentazione per errori custom)
          -- Here comes your custom error message that will be returned by MySQL
          SET MESSAGE_TEXT = 'This record is sacred! You are not allowed to remove it!!';
      END IF;
    
    END
    $$
    
    DELIMITER ;
    L'avevo provato su un mySql 5.5 (usa SIGNAL) , quindi non so se funziona su versioni precedenti.

    Ovviamente lo puoi personalizzare un po' come ti piace:
    - Aggiungendo ulteriori controlli
    - Inserendo una tabella di auditing

    Link utili:
    TRIGGER
    SQLSTATE

    abbiamo i trigger, usiamoli su...
    Ultima modifica di LuciferSam86; 03-12-2015 a 22:56

Tag per questa discussione

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 © 2025 vBulletin Solutions, Inc. All rights reserved.