Trigger SQL, con parametri alimentati da Datatable

mercoledì 31 marzo 2010 - 09.34

JarkaRuus Profilo | Newbie

Ciao!
E' la prima volta che posto qui: ho letto altri thread ma senza trovare una soluzione efficace al problema mi sono posto.

Lavoro su Database SQLServer 2005; e sviluppo in VB.net su un gestionale di terzi. Devo effettuare diverse personalizzazioni e il mio obiettivo è quello di sfruttare al massimo la potenzialità dell'ereditarietà in modo da permettere passaggi fluidi nel momento in cui il fornitore del gestionale rilascia nuove release (una all'anno la major, più 3-4 Service).

Per fare ciò non aggiungo campi alle tabelle esistenti: su quelle che devo estendere creo una tabella con la stessa chiave primaria e aggiungo i campi di estensione.
Ciò che vorrei realizzare è un automatismo per effettuare Insert, Delete e Update sulla tabella aggiunta, quando vengono effettuare le rispettive Insert, delete e update sulla tabella originaria.
Va da sé che oltre ai campi di chiave primaria mi serve aggiungere i campi personalizzati che sono presenti in un datatable alimentato da una gridview (devexpress).
L'ideale per me sarebbe: sapere quando si scatena l'evento di Insert, Delete e Update sulla tabella originaria, eseguire la rispettiva operazione sulla tabella "figlia" e aggiungere i campi del datatable; in questo modo mi eviterei di cercare all'interno del codice del fornitore gli svariati punti in cui effettua le operazioni sulla tabella e qualora in una release futura ne aggiunga, non dovrei ritoccare il codice.

Ipotesi: creare un trigger (con parametri per i campi aggiunti) nelle tabelle interessate; Agire da codice per passare al trigger i parametri presi dal datatable.

E' possibile o sto fantasticando?

Grazie in anticipo.

Massimo

lbenaglia Profilo | Guru

>Ipotesi: creare un trigger (con parametri per i campi aggiunti)
>nelle tabelle interessate; Agire da codice per passare al trigger
>i parametri presi dal datatable.
>
>E' possibile o sto fantasticando?

Ciao Massimo,

I triggers non sono parametrici, pertanto non puoi fare quello che hai in mente.
Inoltre nel momento in cui il produttore modifica la struttura del db può essere che vada ad eliminare i tuoi triggers (per esempio droppando una tabella) quindi rischieresti di compromettere il funzionamento della tua applicazione.

>Grazie in anticipo.
Prego.

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5