Cpia dati da una tabella ad un altra

giovedì 15 giugno 2006 - 09.55

memmo77 Profilo | Expert

Salve.Devo, tramite stored, copiare i dati di una tabella da un database ad un altro dove esiste la tabella identica alla prima ma vuota, poi dovrei cancellare la tabella dal primo db.Devo usare una select con un insert into e poi fare un drop della tabella? Qualcuno mi scriverebbe al volo due righe della sintassi?
Grazie mille

Brainkiller Profilo | Guru

>Salve.Devo, tramite stored, copiare i dati di una tabella da
>un database ad un altro dove esiste la tabella identica alla
>prima ma vuota, poi dovrei cancellare la tabella dal primo db.Devo
>usare una select con un insert into e poi fare un drop della
>tabella? Qualcuno mi scriverebbe al volo due righe della sintassi?

Si si può fare anche così, se stai usando SQL Server ti consiglio di prendere in esame l'opzione dei DTS. E' abbastanza facile costruire un flusso per fare operazioni di questo tipo e poi schedularle semplicemente.
Ciao

David De Giacomi
Microsoft MVP
http://blogs.dotnethell.it/david/

memmo77 Profilo | Expert

Il fatto è che non conosco i DTS . Sapresti indicarmi qualcosina oppure come fare con le stored? Ti spiego, devo richiamarle da codice asp.net tramite un comando e passargli delle variabili, quindi nella stored metterei un comando stringa nella quale inserirei questa benedetta select insert into e il drop, ma non so come scriverlo.Grazie ciao

Brainkiller Profilo | Guru

>Il fatto è che non conosco i DTS . Sapresti indicarmi qualcosina
>oppure come fare con le stored? Ti spiego, devo richiamarle da
>codice asp.net tramite un comando e passargli delle variabili,
>quindi nella stored metterei un comando stringa nella quale inserirei
>questa benedetta select insert into e il drop, ma non so come
>scriverlo.Grazie ciao

Ciao,
prova con questa:

CREATE PROCEDURE CopyRecords AS SELECT * INTO Database2.dbo.DestinationTableName FROM SourceTableName DROP TABLE SourceTableName GO

Basta eseguirla dalla pagina ASP.NET ed ottieni il risultato desiderato.
Lorenzo magari saprà darti ulteriori soluzioni.
Ciao
David De Giacomi
Microsoft MVP
http://blogs.dotnethell.it/david/

memmo77 Profilo | Expert

Allora ho provato ad inserirla in query analyzer:
SELECT * INTO [pippo].[dbo].[pluto] FROM [topolino].[dbo].[paperino]
ma l'errore che mi ritorna è:

Il database include già un oggetto denominato 'pluto'.

Che devo fare
Grazie

Brainkiller Profilo | Guru

>Allora ho provato ad inserirla in query analyzer:
>SELECT * INTO [pippo].[dbo].[pluto] FROM [topolino].[dbo].[paperino]
>ma l'errore che mi ritorna è:
>Il database include già un oggetto denominato 'pluto'.
>Che devo fare
>Grazie

Nella tabella di destinazione, devi man mano accodare i dati come in una sorta di storico oppure viene eliminata anche quella ?
Ciao

David De Giacomi
Microsoft MVP
http://blogs.dotnethell.it/david/

memmo77 Profilo | Expert

No, quella non va eliminata, ma cosa intendi per accodare in una sorta di storico? Grazie ciao

Brainkiller Profilo | Guru

>No, quella non va eliminata, ma cosa intendi per accodare in
>una sorta di storico? Grazie ciao

Cioè la tabella destinazione se non viene ripulita, ogni giorno riceve dall'altro database dei dati giusto e quindi man mano li accumula.

In ogni caso, se la tabella destinazione non esiste, usi il codice che ti ho dato in precedenza, se invece esiste già e devi solo copiare dei dati puoi fare così:

INSERT INTO DatabaseDestinazione.dbo.TabellaDestinazione (ID,Name) SELECT * FROM TabellaSorgente

Ciao
David De Giacomi
Microsoft MVP
http://blogs.dotnethell.it/david/

memmo77 Profilo | Expert

Perfetto, con query analyzer ho risolto, ora passo il tutto alla stored e ti faccio sapere. Grazie mille mi sei stato molto di aiuto.

memmo77 Profilo | Expert

Tutto risolto. Grazie mille sei stato di molto aiuto.Ciao alla prossima

Brainkiller Profilo | Guru

Accetta la risposta che ti ho dato con l'apposito link se ti è servita, in modo che il thread viene marcato come risolto. grazie

David De Giacomi
Microsoft MVP
http://blogs.dotnethell.it/david/

memmo77 Profilo | Expert

Ok, scusa ma sono nuovo e non sapevo di doverlo fare .Ciao
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