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
Update di una tabella di 530000 record circa
giovedì 20 marzo 2014 - 22.45
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Elenco Tags
Oracle 10g
gianpaolo77
Profilo
| Newbie
2
messaggi | Data Invio:
gio 20 mar 2014 - 22:45
Salve a tutti ragazzi,
ho un problema:
devo eseguire un update di un campo di una tabella da circa 530000 record
e devo updatare praticamente tutti i record di questa tabella,
partendo da un'altra tabella creata da me contenente il valore da updatare(e che contiene circa 520000 record).
Faccio un esempio per farvi capire:
Tabella_1:
codice_pdr codice_dl
Tabella_2:
codice_pdr codice_dl e una serie di altri campi
in pratica devo aggiornare il valore del codice_dl della Tabella 2 con quello presente nella Tabella 1
per Tabella_1.codice_pdr=Tabella_2.codice_pdr
Come posso fare nella maniera più veloce possibile?
Fatemi sapere, sono abbastanza nella cacca,
grazie a tutti in anticipo!
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
ven 21 mar 2014 - 00:01
>Salve a tutti ragazzi,
ciao e benvenuto su dotnethell.it!
>Come posso fare nella maniera più veloce possibile?
con una update nella forma:
UPDATE DEST
SET CAMPO_DA_AGGIORNARE = SRC.CAMPO_VALORE_NUOVO
FROM SCHEMA.TABELLA1 DEST
JOIN SCHEMA.TABELLA2 SRC ON DEST.CAMPO = SRC.CAMPO
Le righe non sono molte, quindi non dovresti avere problemi di tempistiche. Stai attento se devi farlo in produzione, perché potresti creare dei loco pesanti a chi utilizza la tabella che devi aggiornare. Inoltre cerca di fare un backup della porzione dei dati per sicurezza.
>grazie a tutti in anticipo!
di nulla!
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
gianpaolo77
Profilo
| Newbie
2
messaggi | Data Invio:
ven 21 mar 2014 - 17:08
grazie mille Alessandro sia per il benvenuto che per la risposta!
ma sbaglio, o lo statement che mi hai postato tu non è adatto ad Oracle?
non sono istruzioni di SqlServer quelle? (anche se non lo conosco...
)
probabilmente ho inserito il theread in una sezione sbagliata...
anzi, credo proprio di non averlo specificato nel messaggio di ieri sera, mea culpa...
comunque nel frattempo ho fatto una procedurina PL/SQL con un cursore sulla tabella_1 e poi un update sulla tabella_2,
ma sta girando da quasi 17 ore...
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
lun 24 mar 2014 - 10:21
>grazie mille Alessandro sia per il benvenuto che per la risposta!
>ma sbaglio, o lo statement che mi hai postato tu non è adatto ad Oracle?
Oops.. vedi se ti va meglio l'esempio che ti ho fatto per Oracle:
http://sqlfiddle.com/#
!4/8248f/14
>anzi, credo proprio di non averlo specificato nel messaggio di
>ieri sera, mea culpa...
Nei tag c'era.. colpa mia.
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 !