[ pravo_u_raj @ 11.06.2006. 19:25 ] @
imam dve iste baze sa razlicitim podacima
kako da podatke iz jedne baze prebacim u drugu, naravno i da svi podaci u drugoj bazi ostanu netaknuti

hvala

[Ovu poruku je menjao pravo_u_raj dana 11.06.2006. u 20:35 GMT+1]
[ goranvuc @ 11.06.2006. 19:33 ] @
Evo ti opsti primeri, pa ti vidi sta mozes da iskoristis:

Primer br. 1 - Bezuslovni insert
Code:

INSERT INTO Baza1.dbo.Tabela SELECT * FROM Baza2.dbo.Tabela


Primer br. 2 - Insert samo nepostojecih slogova (uslov je ID)
Code:

INSERT INTO Baza1.dbo.Tabela SELECT * FROM Baza2.dbo.Tabela WHERE Baza2.dbo.Tabela.ID NOT IN (SELECT ID FROM Baza1.dbo.Tabela)


[ pravo_u_raj @ 11.06.2006. 19:58 ] @
tnx
al pitanje je bilo kako podatke iz jedne baze da prebacim u drugu (prvenstveno podatke iz tabela, a onda i sp, veiw...)
naravno insert into resavao posao da nema 500 tabela :)

mislio sam da li postoji neki sw koji radi merge-ovanej 2 baze u jedno
pokusavam da napisem cursor ali mi pravi probleme
tako da ako neko ima neki kod kao support :)
[ goranvuc @ 12.06.2006. 08:14 ] @
Kakvo ti je bilo pitanje takav si i odgovor dobio :)

Za resavanje problema merge-ovanja bi mogao da koristis stored procedure, koja bi selektovala nazive svih tabela iz jedne baze i onda za svaku od njih izvrsila SQL kod koji sam ti predlozio. To resenje naravno mora da ispostuje i relacije koje su postavljene izmedju tabela - redosled upisa mora da ide od tabela koje nemaju strane kljuceve, pa na nize. Ja sam to resavao tako sto sam formirao privremenu tabelu koju sam onda aplikativno, preko rekurzije punio sa nazivima tabela, gde sam svakoj tabeli dodelio odgovarajucu vrednost za nivo zavisnosti (tako sam nazvao polje) i nakon popunjavanja sam isao prvo od tabela sa 0-tim nivoom (tabele koje nemaju strane kljuceve) pa navise i na taj nacin nisam nikako mogao da narusim referencijalni integritet. Problem koji si ti naveo lici na problem sinhronizacije dve baze, pa ako je stvarno to u pitanju razmisli o koriscenju sinhronizacije koju MS SQL ima vec u sebi, ako ne - ovo sto sam ti rekao bi trebalo da ti resi stvar.
[ ventura @ 12.06.2006. 08:44 ] @
Mislim da je najlakse resenje koristiti replikaciju...