veritabanındaki bütün varchar alanlar
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
veritabanındaki bütün varchar alanlar
arkadaşlar merhaba,
firebird olan veritabanımda table'lerdeki bütün varchar alanlarda istisnasız sorgulama yapıp arama kriterine uygun ifadeyi değiştirmek istiyorum. böyle bir işlemi firebirdda yapabilirmiyiz her hangi bir yolu varmı acaba.
iyi çalışmalar
Burak Bitikçi
Malatya
firebird olan veritabanımda table'lerdeki bütün varchar alanlarda istisnasız sorgulama yapıp arama kriterine uygun ifadeyi değiştirmek istiyorum. böyle bir işlemi firebirdda yapabilirmiyiz her hangi bir yolu varmı acaba.
iyi çalışmalar
Burak Bitikçi
Malatya
Merhaba,
nasıl bir değişiklik yapacaksınız. update işinizi görebilir. tablo1'deki alan1'deki "Ali" leri "veli" yapmak için :
nasıl bir değişiklik yapacaksınız. update işinizi görebilir. tablo1'deki alan1'deki "Ali" leri "veli" yapmak için :
Kod: Tümünü seç
update tablo1
set alan1='veli'
where alan1='Ali'
verdiğiniz linklere baktım orada genellikle farklı dialectlerdeki data tiplerinin dönüşümlerinden bahsediyor.
benim istediğim şey fieldlerin içerdiği bilgiler örneğin veritabanında 15 tane table olsun her table'de de farklı sayıda varchar data tipli alan olsun
benim yapmak istediğim bu 15 tabledeki varchar alanlı fieldlerin içeriğine bakacak 'ali' olanları 'veli' şeklinde değiştirecek.
ayrıca ilginiz içinde teşekkrüler
benim istediğim şey fieldlerin içerdiği bilgiler örneğin veritabanında 15 tane table olsun her table'de de farklı sayıda varchar data tipli alan olsun
benim yapmak istediğim bu 15 tabledeki varchar alanlı fieldlerin içeriğine bakacak 'ali' olanları 'veli' şeklinde değiştirecek.
ayrıca ilginiz içinde teşekkrüler
Böyle birşeyden bahsetmiyor, nereden çıkardınız?burakb44 yazdı:verdiğiniz linklere baktım orada genellikle farklı dialectlerdeki data tiplerinin dönüşümlerinden bahsediyor.
Bakın Firebird sistem tablolarından tablo isimlerini çekmeniz lazım. Çektiğiniz bu tablo isimlerini kullanarak bu tabloların alan isimlerini ve tiplerini de bulmanız lazım. Bunları yaptıktan sonra kendi istediğiniz şeyi yapabileceksiniz. Yapmak istediğiniz şey için tek bir SQL komutu yok.
Lütfen gösterdiğim bağlantılardaki yazıları daha dikkatli inceleyin!
S.A.
yukarıdaki sp databsedeki varchar alanların bulunduğu table yi ve field i döndürecektir.
NOT : Oluşturduğunuz tablelerin isimlerinde " $ " kullanmadığınızı varsayarak yazdım. Ben kullanmıyorumda . Bir kaç defa test ettim bu şartlar altında sorun çıkmadı. Test etmenizde fayda var.
Kod: Tümünü seç
for /* karakter olarak 37 girin varchar demek */
select rdb$relation_fields.rdb$relation_name,rdb$relation_fields.rdb$field_name
from rdb$fields , rdb$relation_fields
where rdb$field_type=:karakter and rdb$relation_name not like '%$%'
and rdb$field_source=rdb$fields.rdb$field_name
into :tablead,:fieldad
do
NOT : Oluşturduğunuz tablelerin isimlerinde " $ " kullanmadığınızı varsayarak yazdım. Ben kullanmıyorumda . Bir kaç defa test ettim bu şartlar altında sorun çıkmadı. Test etmenizde fayda var.
" Her bildiğin doğru olsun. Ama her doğruyu her yerde söylemek doğru değildir. "