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
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.