>ciao,
Ciao!
>da qualche giorno devo lavorare su un programma C# di comparazione
>di DataBase SQLServer 2005/2000.
>Dopo aver comparato i due database, devo generare degli script
>sql per aggiornare quello a cui manca qualcosa.
>Supponiamo che al secondo database manchi la colonna Data (presente
>invece nel primo) in una particolare tabella : creo la colonna
>nella tabella, e poi faccio gli insert delle righe del database1
>nel 2.
>Devo però controllare che nel database2 non vengano inseriti
>record duplicati.... cioè devo fare l'insert solo dei record
>la cui chiave primaria non è presente nel DataBase2.
>
>Avrei bisogno di un codice simile a questo credo.....
>
>IF NOT EXISTS (SELECT * FROM sysobjects WHERE NAME='PA_ANNO'
>AND xtype='U')
>CREATE TABLE [PA_ANNO] ([NOME] [varchar] (50) NULL )
>
>che è il codice che uso per creare la tabella....ma per controllare
>gli eventuali doppioni prima di fare l'insert
>qualcuno sa qualcosa?
Puoi usare sempre la EXISTS:
IF NOT EXISTS (Select * from TabellaDestinazione WHERE Campo1 = Valore1 AND Campon = Valoren)
INSERT INTO TabellaDestinazione (Campo1, Campon)
VALUES (Valore1, Valoren)
Con la stessa logica puoi agire sulla chiave primaria, se ti basta come controllo..
ciao!
Alx81 =)
http://blogs.dotnethell.it/suxstellino