veritabanı update
veritabanı update
sql ile en son guncellem yapılan kayıttan ıtıbaren kayıtlar bır baska database e nasıl aktarılır.mükerrer kayıt olmasın ve sonucunda iki veri tabanı aynı olmalı.ilginize tşkr ederim
Merhaba,
bu tip sorularda kullandığınız veritabanını belirtmek çok faydalı olacaktır.
1. Veritabanındaki tabloların birebir eşini oluşturduktan sonra, sql ile diğer tarafa aktarabilirsin.
INSERT INTO A_TABLOSU (SELECT * FROM A_TABLOSU@SID WHERE şart)
bu yazım Oracle için. @SID diğer veritabanına bir link.
2. Yol ise, Query ile istediğin kayıtları seçip, diğer veritabanına birebir kopyalaman. Yani : Append - ... - Post.
Kolay gelsin.
bu tip sorularda kullandığınız veritabanını belirtmek çok faydalı olacaktır.
1. Veritabanındaki tabloların birebir eşini oluşturduktan sonra, sql ile diğer tarafa aktarabilirsin.
INSERT INTO A_TABLOSU (SELECT * FROM A_TABLOSU@SID WHERE şart)
bu yazım Oracle için. @SID diğer veritabanına bir link.
2. Yol ise, Query ile istediğin kayıtları seçip, diğer veritabanına birebir kopyalaman. Yani : Append - ... - Post.
Kolay gelsin.
teşekkür ederim
as/400 sisteminden veriyi SQL ile ilgili alanları indiriyorum.bazı kıstaslar kullanarak.bu alanları dbdemos da olusturdugum *.db database sine aktarıyorum.
while not query1.eof do
begin
table1.insert;
table1.FieldByName('ref').asstring:=query1.FieldByName('itnbr').asstring;
...
table1.Post;
query1.next;
end;
şeklinde fakat ikinci veri al dedegımde table1 ın sonuna tekrar kayıtları sıralı sekılde alıyor benım ıstedıgım son update edılen kayıttan sonrasını table1 alanıma kaydetsın ilginize tşkr ederim
while not query1.eof do
begin
table1.insert;
table1.FieldByName('ref').asstring:=query1.FieldByName('itnbr').asstring;
...
table1.Post;
query1.next;
end;
şeklinde fakat ikinci veri al dedegımde table1 ın sonuna tekrar kayıtları sıralı sekılde alıyor benım ıstedıgım son update edılen kayıttan sonrasını table1 alanıma kaydetsın ilginize tşkr ederim
Merhaba,
o zaman o kayıt var mı kontrol etmen lazım ya da diğer tarafa bir alan ekleyip kaydedilip kaydedilmediğini kontrol etmen lazım.
1. yol da :
if not Table1.Locate (anahtar alana göre) then
Kayıt_ekle
2. yolda : mesela kaydedildi diye bir alan ekleyip, bunu 1 yap. Query'de kayıtları seçerken :
Where kaydedildi<> 1
şeklinde seç.
Kolay gelsin.
o zaman o kayıt var mı kontrol etmen lazım ya da diğer tarafa bir alan ekleyip kaydedilip kaydedilmediğini kontrol etmen lazım.
1. yol da :
if not Table1.Locate (anahtar alana göre) then
Kayıt_ekle
2. yolda : mesela kaydedildi diye bir alan ekleyip, bunu 1 yap. Query'de kayıtları seçerken :
Where kaydedildi<> 1
şeklinde seç.
Kolay gelsin.
alan cektıgım databasede acmak sorun degıl
fakat verılerı aldıgım database e verı yazmak yanı 1 gıbı prb. yapıor 20 bın kayıt oldugu ıcın yazmak iyi olmaz.veriyi alırken en son alınan kayıttan sonrakılerı almasını aldırabılırsem cok guzel olur.bu konuda yardımcı olursanız sevınırım
Merhaba.
Öncelikle kolay gelsin.
Hedef tablodan en son kaydın ID sini alıp
kaynak tablodan ID si büyük olanları gönderirsin.
Umarım yeterince açık olmuştur.
Yalnız kaynak tablodaki önceden gönderdiğin kayıtlardan birinde değişiklik olduğu zaman onu nasıl gönderirsin? Bu nun için
yeni bir alan ekleyip (mesala gonderildi) o alana verdiğiniz değere göre işlem yaptırabilrsiniz.
Eğer gonderildi 1 ise insert et
2 ise update et
0 ise işlem yapma gibi.
Kaydı güncelledikten sonra gönderildi yi 0 yapman lazım tabi.
Umarım yardımcı olabilmişimdir
. İyi çalışmalar.
Öncelikle kolay gelsin.
Hedef tablodan en son kaydın ID sini alıp
kaynak tablodan ID si büyük olanları gönderirsin.
Umarım yeterince açık olmuştur.
Yalnız kaynak tablodaki önceden gönderdiğin kayıtlardan birinde değişiklik olduğu zaman onu nasıl gönderirsin? Bu nun için
yeni bir alan ekleyip (mesala gonderildi) o alana verdiğiniz değere göre işlem yaptırabilrsiniz.
Eğer gonderildi 1 ise insert et
2 ise update et
0 ise işlem yapma gibi.
Kaydı güncelledikten sonra gönderildi yi 0 yapman lazım tabi.
Umarım yardımcı olabilmişimdir

Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim