sqlserver de veri tabanı içindeki taplolarda MALZEMEKODU geç

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
a_self_lion
Üye
Mesajlar: 93
Kayıt: 01 Eki 2008 07:04

sqlserver de veri tabanı içindeki taplolarda MALZEMEKODU geç

Mesaj gönderen a_self_lion »

Selam arkadaşlar,

SQL serverde VRS2011 Diye bir veritabanım var içinde 50 tane tablom var bir biri ile ilişkili. İstediğim Bu tablolarımın hangisinin içinde MALZEMEKODU alanı geçtiğini nasıl bulabilirim. Teşekkür ederim.
boreas
Üye
Mesajlar: 120
Kayıt: 05 Tem 2007 12:39
Konum: Ankara

Re: sqlserver de veri tabanı içindeki taplolarda MALZEMEKODU

Mesaj gönderen boreas »

Sqlserver'da tablo yapısını text dosyasına export edip içinde arama yapmayı denediniz mi hiç?
....
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Re: sqlserver de veri tabanı içindeki taplolarda MALZEMEKODU

Mesaj gönderen aslangeri »

s.a.
öncelikle sorunuzu yanlış yere sormuşsunuz VCL nin bu soru ile alakası yok.
sorunuzun cevabına gelince sql server demişsiniz MS-SQL server ise 2008 versiyonunda aşağıdaki sorg ile sonuca ulaşabilirsiniz.
muhemelen 2005 dede çalışır ancak 2000 de çalışmaz.

Kod: Tümünü seç

select clm.name,tbl.name from sys.columns clm
left join sys.tables tbl on tbl.object_id=clm.object_id
where clm.name='MALZEMEKODU'
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
a_self_lion
Üye
Mesajlar: 93
Kayıt: 01 Eki 2008 07:04

Re: sqlserver de veri tabanı içindeki taplolarda MALZEMEKODU

Mesaj gönderen a_self_lion »

boreas yazdı:Sqlserver'da tablo yapısını text dosyasına export edip içinde arama yapmayı denediniz mi hiç?
Sayın boreas nasıl yapabilirim bunu.
a_self_lion
Üye
Mesajlar: 93
Kayıt: 01 Eki 2008 07:04

Re: sqlserver de veri tabanı içindeki taplolarda MALZEMEKODU

Mesaj gönderen a_self_lion »

aslangeri yazdı:s.a.
öncelikle sorunuzu yanlış yere sormuşsunuz VCL nin bu soru ile alakası yok.
sorunuzun cevabına gelince sql server demişsiniz MS-SQL server ise 2008 versiyonunda aşağıdaki sorg ile sonuca ulaşabilirsiniz.
muhemelen 2005 dede çalışır ancak 2000 de çalışmaz.

Kod: Tümünü seç

select clm.name,tbl.name from sys.columns clm
left join sys.tables tbl on tbl.object_id=clm.object_id
where clm.name='MALZEMEKODU'
sayın aslan geri delphiden bu şekilde VRS2011 veritabanına bağlanıp bu sonucu alamazmıyız orda o sonuca göre bir döngü kurup değişiklik yapmak istiyorum. Yani malzeme kodu değiştir dediğim zaman bütün tablolardan değişmesini istiyorum.
yapmak istediğim 74 ile başlayan malzeme kodlarımın 79 ile başlamasını istiyorum. VE MALZEMEADI TABLOMDA grup kodu var GURUPKODU alanımında başdan ilk iki hanesi de 79 olmasını istiyorum. Umarım ne yapmak istediğim anlaşılmıştır. teşekkür ederim şimdiden yardımlarınız için.
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Re: sqlserver de veri tabanı içindeki taplolarda MALZEMEKODU

Mesaj gönderen aslangeri »

peki delphide denedindemi soruyorsun yoksa denemeden mi soruyorsun.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
a_self_lion
Üye
Mesajlar: 93
Kayıt: 01 Eki 2008 07:04

Re: sqlserver de veri tabanı içindeki taplolarda MALZEMEKODU

Mesaj gönderen a_self_lion »

aslangeri yazdı:peki delphide denedindemi soruyorsun yoksa denemeden mi soruyorsun.
:) denemedim yanlış yere sormuşsun diyince bide direk tabloya bağlanarak işlem yaptığım için bu durumda nasıl deneyeceğimi açıkcası bilemiyorum vesile ile onuda sizden rica etsem olur mu? Güzel insan yardım sever insan aslangeri kardeşim.
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Re: sqlserver de veri tabanı içindeki taplolarda MALZEMEKODU

Mesaj gönderen aslangeri »

yanlış yere sormuşsun VCL forumundaydı buraya taşıdım.
Table yerine Query bileşenini kullanarak yapabilirsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
a_self_lion
Üye
Mesajlar: 93
Kayıt: 01 Eki 2008 07:04

Re: sqlserver de veri tabanı içindeki taplolarda MALZEMEKODU

Mesaj gönderen a_self_lion »

sayın aslangeri
evet query ile bağlandım ve colon adını ve geçen taploları aldım

Kod: Tümünü seç

select clm.name,tbl.name from sys.columns clm
left join sys.tables tbl on tbl.object_id=clm.object_id
where clm.name='MALZEMEKODU'


şimdi bu sonuca göre bir döngü kurup değişiklik yapmak istiyorum. Yani malzeme kodunu değiştir dediğim zaman bütün tablolardan değişmesini istiyorum.
yapmak istediğim 74 ile başlayan malzeme kodlarımın 79 ile başlamasını istiyorum. VE MALZEMEADI TABLOMDA grup kodu var GURUPKODU alanımında başdan ilk iki hanesi de 79 olmasını istiyorum. Umarım ne yapmak istediğim anlaşılmıştır. teşekkür ederim şimdiden yardımlarınız için.
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Re: sqlserver de veri tabanı içindeki taplolarda MALZEMEKODU

Mesaj gönderen aslangeri »

bundan sonrası senin işin.
queryden gelen sonuc döngüye koyacaksın.
queryden okuyacağın tablo adına göre update querysini oluşturup çalıştıracaksın.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
a_self_lion
Üye
Mesajlar: 93
Kayıt: 01 Eki 2008 07:04

Re: sqlserver de veri tabanı içindeki taplolarda MALZEMEKODU

Mesaj gönderen a_self_lion »

Hocam küçük bir örnek alabilirmiyim rica etsem.
Sorgudan iki alan geliyor birincisi MALZEMEKODU ikincisi TABLO adı veriler geliyor.

MALZEMEKODlarım benim ;
740103001
740103002
74010300203
74010300205
74010300506
şeklinde devam ediyor.

Bu bilgiler ışında

Update ifadesinde sıra ile nerde 740103 ile başlayanlar kodlarımın

ilk iki karakterini 77 yapmak istiyorum.

Eğer değişiklik sırası MALZEMELER tablomda ise GRUPKOD alanının ilk iki karekterini de 77 yapmak istiyorum.

(Dİğer tablolarda GRUPKOD alanı olmadığı için orda sadece MALZEMEKODU alanının ilk iki karekteri değişecek.)
bu sayede veritabanımda nerede MALZEMEKOD alanım varsa hepsi yeni değerle güncellenmiş olucak.
Bu durum için bir örnek alabilirmiyim arkadaşlar rica etsem. Lütfen.
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Re: sqlserver de veri tabanı içindeki taplolarda MALZEMEKODU

Mesaj gönderen aslangeri »

update sorugus şuna benzer birşey olacak

Kod: Tümünü seç

update xxxxx
set Malzemekodu='77'+substring(Malzemekodu,3,100)
where malzemekodu like '74%'
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Cevapla