none
Differenza tra PRINT o RAISEERROR RRS feed

  • Domanda

  • Ciao a tutti, volessi far comparire un messaggio all'utente al termine dell'esecuzione di un trigger.. cosa dovrei utilizzare?. print o raiseerror?...

    se non ho capito male print passa l'argomento all'applicazione ma non visualizza nulla all'utente o sbaglio?..

    Potete chiarirmi la cosa?

    Grazie


    Marco

    lunedì 9 luglio 2018 11:09

Risposte

  • ciao,

    PRINT stampa e torna un messaggio, RAISERROR solleva anche l'eccezione. Dipende quello che vuoi fare, ma personalmente preferisco evitare i messaggi sul database, passando al chiamante un "codice" che poi l'app mostra e usa un po' come gli serve (in modo da supportare anche la localizzazione). Il mio consiglio è quello di non usare un database SQL Server come livello di logiche di business e frontend.


    Alessandro Alpi - Data Platfomr MVP - CTO & Co-Founder Engage IT Services S.r.l.

    lunedì 9 luglio 2018 11:31
    Moderatore

Tutte le risposte

  • ciao,

    PRINT stampa e torna un messaggio, RAISERROR solleva anche l'eccezione. Dipende quello che vuoi fare, ma personalmente preferisco evitare i messaggi sul database, passando al chiamante un "codice" che poi l'app mostra e usa un po' come gli serve (in modo da supportare anche la localizzazione). Il mio consiglio è quello di non usare un database SQL Server come livello di logiche di business e frontend.


    Alessandro Alpi - Data Platfomr MVP - CTO & Co-Founder Engage IT Services S.r.l.

    lunedì 9 luglio 2018 11:31
    Moderatore
  • ma quindi è normale che usando PRINT non venga visualizzato il messaggio "tramite una qualche form" all'utente?...

    se ad esempio io volessi avere un messaggio per "operazione conclusa" come mai questo non visualizza nulla secondo te? (posto che mi hai già spiegato che è sbagliato concettualmente)

    ""...

    PRINT N'Variazione Effettuata';

    .."


    Marco

    lunedì 9 luglio 2018 11:51
  • In generale, la RAISERROR ti consentirebbe questo, ma dovresti anche personalizzarla con codici di errore e severity (per essere più corretti). La PRINT non viene tornata direttamente ad un'applicazione ma la vedi se fai la chiamata su SSMS.

    Ad ogni modo puoi seguire questa strada, ma continuo a sconsigliarti di gestire i messaggi in questo modo.


    Alessandro Alpi - Data Platfomr MVP - CTO & Co-Founder Engage IT Services S.r.l.

    lunedì 9 luglio 2018 16:35
    Moderatore