Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
SQL Server 2000/2005/2008, Express, Access, MySQL, Oracle
Inserimento righe automatico
giovedì 03 luglio 2014 - 12.17
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Elenco Tags
VB.NET
|
Visual Studio 2010
|
SQL Server 2005
stefano1856
Profilo
| Junior Member
100
messaggi | Data Invio:
gio 3 lug 2014 - 12:17
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
109
messaggi | Data Invio:
gio 3 lug 2014 - 12:21
Ciao!
Hai pensato a creare un trigger sulle operazioni di insert?
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
ven 4 lug 2014 - 10:00
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
Torna su
Stanze Forum
Elenco Threads
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 !