Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Aggiornare una tabella su engine diversi (SqlServer-Firebird)

5 views
Skip to first unread message

Bed

unread,
Nov 24, 2009, 6:55:27 AM11/24/09
to
Salve a tutti, non so proprio da dove cominciare.
Con l'importazione tramite oledb creo una copia della tabella FB nel db
SQLS.
Ora si vorrebbe che all'avvio di una certa applicazione (che si sta
sviluppando) venisse eseguito un aggiornamento della tabella SQLS
avendo come origine la corrispondente tabella FB: come procedereste?
Grazie in anticipo! ;-)


Luca Bianchi

unread,
Nov 24, 2009, 9:50:09 AM11/24/09
to
> Con l'importazione tramite oledb creo una copia della tabella FB nel db
> SQLS.

E' necessario duplicare i dati? Non possono restare li dove sono ed
accedervi via linked server?

> Ora si vorrebbe che all'avvio di una certa applicazione (che si sta
> sviluppando) venisse eseguito un aggiornamento della tabella SQLS avendo
> come origine la corrispondente tabella FB: come procedereste?

Se ᅵ necessario duplicare i dati puoi allineare la tabella su SQL Server
utilizzando l'istruzione MERGE (se utilizzi SQL Server 2008) oppure
procedendo ad una triplice istruzione di

-- Eliminazione records non piᅵ presenti
DELETE tabellaSuSQLServer
WHERE PK NOT IN (SELECT PK FROM LinkedServer...TabellaSuFB)

-- Aggiornamento records modificati
UPDATE A
SET campo1 = B.campo1 ,
campo2 = B.campo2 ,
... ,
campon = B.campon
FROM tabellaSuSQLServer AS A INNER JOIN LinkedServer...TabellaSuFB AS B
ON A.PK = B.PK
WHERE A.campo1 <> B.campo1
OR A.campo2 <> B.campo2
...
OR A.campon <> B.campon

-- Inserimento nuovi records
INSERT tabellaSuSQLServer
SELECT campi
FROM LinkedServer...TabellaSuFB
WHERE PK NOT IN (SELECT PK FROM tabellaSuSQLServer)

Se utilizzi SQL Server 2008 la sintassi dell'istruzione MERGE la trovi sul
Book On Line di SQL Server

> Grazie in anticipo! ;-)

Bye

--
Luca Bianchi
Microsoft MVP - SQL Server
http://community.ugiss.org/blogs/lbianchi


Bed

unread,
Nov 24, 2009, 10:53:46 AM11/24/09
to
Grazie mille! Mi stavo perdendo...

Si dovrebbe andare su SQLS2008 ma le specifiche, tanto per cambiare,
ancora non sono certe... La questione duplicare_si-duplicare_no ᅵ
aperta, ma credo si deciderᅵ per la duplicazione: non ᅵ garantito
l'accesso "ognitempo" al db Firebird, pertanto all'applicazione SQLS ᅵ
richiesta una certa capacitᅵ "offline".

Grazie ancora, torno a lurkare.


0 new messages