Interbase de tablo aktarma ve field değişikliği

Firebird ve Interbase veritabanları ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
Cevapla
CuneyQ
Üye
Mesajlar: 18
Kayıt: 06 Nis 2005 11:21
Konum: İstanbul

Interbase de tablo aktarma ve field değişikliği

Mesaj gönderen CuneyQ »

Arkadaşlar Merhaba ;
Interbase veritabanı kullanıyorum. A isimli aliasdan B isimli aliasa aktarma yapmak istiyorum , aynı zamanda aktarım sırasında istediğim bir field'in tipini değiştiricem. Bununla ilgili DataPumb vs programları ve forumda yazılan bir çok bilgiyi inceledim ancak istediğime ulaşamadım.

-----------------------------------------
A Alias
kayitsirasi varchar(10)

B Alias
kayitsirasi double

-----------------------------------------
A aliaslı databasedeki kayitsirasi fieldindeki verilerin B aliaslı databasedeki kayitisirasi fieldinin içinde olması gerekiyor...

Bununla ilgili bir programcık yazmak istiyorum !!!
Şimdiden yardımlarınız için teşekkürler...

Allah'a emanet olun
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7602
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

Merhaba,

yeni bir DOUBLE alan ekle.
Bilgileri ona aktar. (bkz :ara cast vs.)
VARCHAR alanı sil.
Daha sonra nereye istiyorsan aktar.

Kolay gelsin.
CuneyQ
Üye
Mesajlar: 18
Kayıt: 06 Nis 2005 11:21
Konum: İstanbul

Mesaj gönderen CuneyQ »

Başta yapılan bir hata , olması gereken zaten domain tanımlamak. Ancak şuan işime yaramıyor.Bahsettiğim şeyi yapıyorum zaten, benim bunu programa dökmem gerekiyor. 20.000 kayıtlı 100 ün üzerinde kişinin kullandığı programı bu şekilde yaparak düzeltmek olanaksız. İstediğim kısa bir program ile bunu çözebilmek.

Kolay gelsin...
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7602
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

bana bir update cümlesiyle olur gibi geldi. O yüzden cast kelimesini aratın dedim.

Kolay gelsin.
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Mesaj gönderen rsimsek »

Mustafa nın dediği gibi ikinci bir (kayitsirasi2) alan ekleyip CAST ile tip dönüşümü yaparak UPDATE ... ile tüm bilgileri ikinci field a aktar. Daha sonra eski alanı sil (silmeden update from tablo set kayitsayisi=null ile içeriklerini boşalt). İkinci alanın aynı isimde olması gerekiyorsa tekrar sildiğin isimde double bir alan oluşturup bilgileri oraya aktar.. Aynı yöntemle oluşturduğun kayitsirasi2 yi de silersin.. :idea:
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
CuneyQ
Üye
Mesajlar: 18
Kayıt: 06 Nis 2005 11:21
Konum: İstanbul

Mesaj gönderen CuneyQ »

Kısmi de olsa çözdüm teşekkür ederim...
Cevapla