Query di aggiornamento / insert su più tabelle.

venerdì 20 ottobre 2006 - 10.06

totti240282 Profilo | Guru

Me lo sono sempre domandato ,è possibile fare una query unica di aggiornamento/inserimento su più tabelle contemporaneamente ???,io non ci sono riuscito,le faccio sempre separate, e chiedo aiuto a voi.
C'è solo un capitano !!!!!!

us01739 Profilo | Expert

Direi che esistono più strade per farlo:

puoi utilizzare una stored procedure con dentro il codice per aggiornare le tue tabelle, oppure creare una vista ed aggiornare la vista, oppure da apllicativo (es. windows application .net 2.0) tramite il metodo SqlClient.SqlCommand nel quale passi una stringa con le varie oreazioni separate da ";"

Su quest'ultima però bisognerebbe approfondire perchè non ne sono sicuro...



Bye Bye

---------------------------------------------------
Roberto Gelmini - Microsoft Certified Professional
www.robertogelmini.com
---------------------------------------------------

lbenaglia Profilo | Guru

>Me lo sono sempre domandato ,è possibile fare una query unica
>di aggiornamento/inserimento su più tabelle contemporaneamente
>???,io non ci sono riuscito,le faccio sempre separate, e chiedo
>aiuto a voi.

Se con "una query unica" intendi un singolo comando SQL la risposta è no.
Le operazioni di UPDATE/INSERT ammettono la modifica di 1 sola tabella per volta.

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org

us01739 Profilo | Expert

X Lorenzo,
Ciao,

>Se con "una query unica" intendi un singolo comando SQL la risposta è no.
ma neanche se i comandi sono dentro ad una stored procedure? E la proposta di usare una una stringa separata da ; e' fantascienza?


Bye Bye

---------------------------------------------------
Roberto Gelmini - Microsoft Certified Professional
www.robertogelmini.com
---------------------------------------------------

lbenaglia Profilo | Guru

>>Se con "una query unica" intendi un singolo comando SQL la risposta è no.
>ma neanche se i comandi sono dentro ad una stored procedure?
>E la proposta di usare una una stringa separata da ; e' fantascienza?

Ciao Roberto,

mi sembra di essere stato chiaro, con SIGOLO COMANDO intendo UNA UPDATE o UNA INSERT.
In una stored procedure puoi inserire fino a 128MB di codice, quindi è ovvio che puoi inserire più comandi SQL....

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org

us01739 Profilo | Expert

Grazie 1000
Bye Bye

---------------------------------------------------
Roberto Gelmini - Microsoft Certified Professional
www.robertogelmini.com
---------------------------------------------------

totti240282 Profilo | Guru

E la proposta di usare una una stringa separata da ; e' fantascienza?


no io le ho sempre usate ,praticamente è come se fai due query distinte.
C'è solo un capitano !!!!!!

lbenaglia Profilo | Guru

>E la proposta di usare una una stringa separata da ; e' fantascienza?
>
>
>no io le ho sempre usate ,praticamente è come se fai due query
>distinte.

Che appunto è diverso da "fare una query unica di aggiornamento/inserimento su più tabelle contemporaneamente" come originariamente postato...
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org

totti240282 Profilo | Guru

Si lo so ma avevo questo dubbio
C'è solo un capitano !!!!!!
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-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5