2010-10-07 12 views
5

La tabella può avere trigger su insert/delete/update. Trigger verrà attivato internamente dal motore DB.È possibile passare un parametro al trigger nel database di SQL Server?

È possibile passare un parametro al trigger nel database di SQL Server come una stored procedure?

+0

Sembra strano: che problema stai cercando di risolvere? – egrunin

+0

Oggi qualcuno mi ha chiesto questo messaggio e non aveva mai sentito parlare di CONTEXT_INFO(), ma in passato avevano utilizzato questa funzione e l'ha trovato utile. – Jeff

risposta

10

Indirettamente tramite CONTEXT_INFO(). Vedi Using Session Context Information. Il fatto che il trigger abbia bisogno di uno stato extra è sempre un odore di codice.

+1

Grazie per il link! – Jeff

0

È possibile kludge esso. Creare una tabella specificamente progettata per contenere le informazioni sui parametri, quindi inserire i dati nella tabella dei parametri prima di eseguire l'operazione che avvierà il trigger. Codifica il trigger per leggere dalla tabella dei parametri.

Quella era la carota, ecco il bastone:

  1. Questo complicherà i trigger. Dovrai tenere conto del potenziale dei parametri mancanti e dovrai provvedere alla pulizia dei parametri.
  2. Si sta creando una dipendenza con questa tecnica, quindi funzionerà solo con i processi codificati per utilizzare questa tecnica di passaggio dei parametri. Quindi, se i tuoi dati vengono modificati da più di una semplice applicazione, questo non funzionerà.
Problemi correlati