Inserimento righe automatico

giovedì 03 luglio 2014 - 12.17
Tag Elenco Tags  VB.NET  |  Visual Studio 2010  |  SQL Server 2005

stefano1856 Profilo | Junior Member

Ciao,
ho questa esigenza:
Quando sulla tabella 1 viene aggiunta una riga vorrei che in automatico, o lanciando una SP , sulla tabella 2 venisse aggiunta una riga corrispondente con alcuni dati della tabella 1 ,
vorrei chiedere quel'è la migliore strada da seguire
Grazie

boccia75 Profilo | Junior Member

Ciao!
Hai pensato a creare un trigger sulle operazioni di insert?

alx_81 Profilo | Guru

Ciao

>Hai pensato a creare un trigger sulle operazioni di insert?
Il trigger è lo strumento che ti garantisce l'esecuzione di "quello che devi fare" al verificarsi di un evento sulla tabella "iniziale" su cui vai ad agire.
Ci sono vari elementi che valuto sempre prima di creare un trigger, e sono:
- lunghezza della durata della transazione che viene a crearsi
- tipi di lock che creo sulle risorse su cui vado ad agire
- non visibilità dell'esistenza del trigger (è decisamente nascosto)
- impossibilità di bypassarlo (a meno che non si scrivano logiche di business al suo interno)

In base all'operazione che voglio fare, di solito cerco di capire se essa è di business o meno.. mi spiego:
Io trovo un trigger particolarmente efficace se IN OGNI CASO un'operazione deve effettuarne un'altra. Se volessi creare dei casi per cui il trigger è valido solo in uno di essi, preferisco la stored procedure con la transazione innestata, o, in caso di approccio di diverso design, la creazione della transazione sulla logica di business dell'applicazione, con le conseguenti chiamate che mi servono per quel caso.
Il trigger è molto potente, ma come tutte le cose potenti va valutato con attenzione. A volte lo si fa e poi ci si accorge che erano più i casi in cui esso doveva essere bypassato.. E quindi, ormai, col lavoro fatto, si agisce di workaround per "schivarlo" nei suddetti casi. Inoltre, è corretto che quel ragionamento lo faccia direttamente il database? E' corretto che il database decida cosa fare del dato al di là del controllo dell'integrità referenziale e dei vincoli? Questa è una tua decisione, in base a come architetti la tua soluzione.

Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://blogs.dotnethell.it/suxstellino
http://suxstellino.wordpress.com
http://mvp.microsoft.com/profiles/Alessandro.Alpi
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