UPDATE ile Ikı Tablo da alan guncellemek !!!

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
ozcank
Üye
Mesajlar: 849
Kayıt: 28 Nis 2005 04:29

UPDATE ile Ikı Tablo da alan guncellemek !!!

Mesaj gönderen ozcank » 08 Ara 2018 06:24

Arkadaşlar Merhaba ; İki tablom var biri TBLSTHAR diğeri TBLFATUIRS ve bu alanlarda güncelleme yapmak istiyorum. Yardım ederseniz çok sevinirim.
Kod şu şekilde;

Kod: Tümünü seç

UPDATE TBLFATUIRS SET PLA_KODU='02', ACIKLAMA='ACIKLAMA' FROM TBLFATUIRS WHERE EXISTS (SELECT DEPO_KODU='1', PLASIYER_KODU='02' FROM TBLSTHAR WHERE INCKEYNO='81060' AND FATIRS_NO='OLG000000004716' AND GIB_FATIRS_NO='OLG2018000004716' AND CARI_KODU='000499') 
fakat bu hatayı veriyor;

Sadece "TBLFATUIRS SET PLA_KODU='02', ACIKLAMA='ACIKLAMA' " bu alanları guncelliyor diğer WHERE EXISTS den sonrasını hiç bakmıyor bile.

Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7494
Kayıt: 09 Haz 2003 11:26
Konum: İstanbul
İletişim:

Re: UPDATE ile Ikı Tablo da alan guncellemek !!!

Mesaj gönderen mussimsek » 10 Ara 2018 07:56

Merhaba,

Exists'in kullanımı burada yanlış duruyor. Bu tarz update cümlesi yazarken, ben önce select ile bilgileri çekiyorum. İstediğim kayıtların geldiğini görünce update cümlesine çevirmek çok basit iş.

where kısmını gözden geçirin.

Kolay gelsin.

ozcank
Üye
Mesajlar: 849
Kayıt: 28 Nis 2005 04:29

Re: UPDATE ile Ikı Tablo da alan guncellemek !!!

Mesaj gönderen ozcank » 10 Ara 2018 12:07

mussimsek teşekkür ederim ama ben çok uğraştım yapamadım cümleyi düzenleyip gönderebilir misin ?

yusuf simsek
Üye
Mesajlar: 307
Kayıt: 09 Mar 2004 11:18
Konum: Konya
İletişim:

Re: UPDATE ile Ikı Tablo da alan guncellemek !!!

Mesaj gönderen yusuf simsek » 12 Ara 2018 08:45

UPDATE TBLFATUIRS SET
PLA_KODU= (SELECT PLASIYER_KODU FROM TBLSTHAR WHERE INCKEYNO='81060' AND FATIRS_NO='OLG000000004716' AND GIB_FATIRS_NO='OLG2018000004716' AND CARI_KODU='000499' )

FROM TBLFATUIRS
WHERE ....
Bugün bir kez daha,
Hiç Birşey Bilmediğimi Öğrendim!!!

https://extrayazilim.com

ozcank
Üye
Mesajlar: 849
Kayıt: 28 Nis 2005 04:29

Re: UPDATE ile Ikı Tablo da alan guncellemek !!!

Mesaj gönderen ozcank » 16 Ara 2018 10:39

yusuf simsek kardeşim çok teşekkür ederim alakana ama yazmış olduğun sorguyu aşağıdaki şekilde kullanmalıyım çünkü iki ayrı tablodan güncelleme yapıyorum

ACIKLAMA,PLA_KODU "TBLFATUIRS" Tablosunda
PPLASIYER_KODU "TBLSTHAR" Tablosunda

Kod: Tümünü seç

UPDATE TBLFATUIRS SET PLA_KODU='2',PLASIYER_KODU='2',ACIKLAMA='DENEME' (SELECT PLASIYER_KODU FROM TBLSTHAR WHERE INCKEYNO='81060' AND FATIRS_NO='OLG000000004716' AND GIB_FATIRS_NO='OLG2018000004716' AND CARI_KODU='000499')

ozcank
Üye
Mesajlar: 849
Kayıt: 28 Nis 2005 04:29

Re: UPDATE ile Ikı Tablo da alan guncellemek !!!

Mesaj gönderen ozcank » 17 Ara 2018 07:10

Arkadaşlar bu şekilde yapmaya çalıştım ama JOIN tanımıyor.

Kod: Tümünü seç

PDATE TBLFATUIRS FI JOIN TBLSTHAR ON FI.FATIRS_NO=SH.FISNO SET TBLFATUIRS.PLA_KODU='01', TBLFATUIRS.ACIKLAMA='UPDATE DENEME', 
TBLSTHAR.DEPO_KODU='1',TBLSTHAR.PLASIYER_KODU='01'
WHERE 
   FI.GIB_FATIRS_NO='OLG201800000001' AND FI.FATIRS_NO='OLG000000000001' AND FI.CARI_KODU='0546' AND
   SH.DEPO_KODU='01',SH.PLASIYER_KODU='02' AND SH.INCKEYNO='12784' AND SH.FISNO='OLG000000000001' AND SH.STHAR_CARIKOD='0546'

yusuf simsek
Üye
Mesajlar: 307
Kayıt: 09 Mar 2004 11:18
Konum: Konya
İletişim:

Re: UPDATE ile Ikı Tablo da alan guncellemek !!!

Mesaj gönderen yusuf simsek » 18 Ara 2018 12:29

İşi delphi yerine veritabanında Stored Procedure ile çözemez misin?
Bugün bir kez daha,
Hiç Birşey Bilmediğimi Öğrendim!!!

https://extrayazilim.com

ozcank
Üye
Mesajlar: 849
Kayıt: 28 Nis 2005 04:29

Re: UPDATE ile Ikı Tablo da alan guncellemek !!!

Mesaj gönderen ozcank » 19 Ara 2018 07:16

Merhaba , Hayır çünkü E-Fatura girildiği zaman fatura sonunda kaydet aktif gelmiyor. Bu yüzden dışarıdan yazmak zorundayım.

ozcank
Üye
Mesajlar: 849
Kayıt: 28 Nis 2005 04:29

Re: UPDATE ile Ikı Tablo da alan guncellemek !!!

Mesaj gönderen ozcank » 20 Ara 2018 05:29

Arkadaşlar aşağıdaki cumleyi tek Update de olarak düzenleyemedim yardımcı olur musunuz ?

Kod: Tümünü seç

EFatKalem.SQL.Add('UPDATE TBLFATUIRS SET PLA_KODU='+QuotedStr(Edit6.text)+', ACIKLAMA='+QuotedStr(Edit7.text)+' WHERE GIB_FATIRS_NO='+QuotedStr(GibFaturaNo.text)+' AND FATIRS_NO='+QuotedStr(BelgeNo.text)+' AND CARI_KODU='+QuotedStr(CariKodu.text)+'');

EFatKalem.SQL.Add('UPDATE TBLSTHAR SET DEPO_KODU='+QuotedStr(Edit4.text)+', PLASIYER_KODU='+QuotedStr(Edit5.text)+' WHERE FISNO='+QuotedStr(BelgeNo.text)+' AND STHAR_CARIKOD='+QuotedStr(CariKodu.text)+'');

yusuf simsek
Üye
Mesajlar: 307
Kayıt: 09 Mar 2004 11:18
Konum: Konya
İletişim:

Re: UPDATE ile Ikı Tablo da alan guncellemek !!!

Mesaj gönderen yusuf simsek » 21 Ara 2018 07:51

Sanırım MS-SQL Veritabanı kullanıyorsunuz..

http://abdulcebar-on.blogspot.com/2012/ ... tiple.html

Bu şekilde bir şey buldum... Ben PostgeSQL de denedim, ancak çalışmadı.

MS-SQL de bu şekilde bir yapının çalışacağından çok emin değilim... Sonucu bizimle de paylaşırsanız memnun oluruz


----------------------

Bir de böyle bir sonuç çıktı karşıma!!!

https://social.technet.microsoft.com/Fo ... orum=sqltr
Bugün bir kez daha,
Hiç Birşey Bilmediğimi Öğrendim!!!

https://extrayazilim.com

ozcank
Üye
Mesajlar: 849
Kayıt: 28 Nis 2005 04:29

Re: UPDATE ile Ikı Tablo da alan guncellemek !!!

Mesaj gönderen ozcank » 21 Ara 2018 04:25

Çok teşekkür ederim yusuf şimşek linklere daha önceden de baktım bir sonuç çıkaramadım :( halen araştırıyorum.

Kod: Tümünü seç

UPDATE TBLFATUIRS
SET FI.PLA_KODU = '03'
  ,FI.ACIKLAMA = 'SONDENEME'
  ,SH.DEPO_KODU = '02'
  ,SH.PLASIYER_KODU = '03'
  ,TBLCAHAR.PLASIYER_KODU = '03'
FROM TBLFATUIRS FI
   INNER JOIN TBLSTHAR SH ON SH.FISNO = FI.FATIRS_NO
   INNER JOIN TBLCAHAR CH ON CH.BELGE_NO = SH.FISNO
WHERE FI.PLA_KODU = '03'
     AND FI.ACIKLAMA = 'SONDENEME'
     AND FI.GIB_FATIRS_NO = 'OLG2018000001185'
     AND FI.FATIRS_NO = 'OLG000000001185'
     AND FI.CARI_KODU = '000580'
     AND SH.DEPO_KODU = '1'
     AND SH.PLASIYER_KODU = '01'
     AND SH.FISNO = 'OLG000000001185'
     AND SH.STHAR_CARIKOD = '000580'
     AND CH.BELGE_NO = 'OLG000000001185'
     AND CH.CARI_KOD = '000580';
En son ozcank tarafından 21 Ara 2018 07:18 tarihinde düzenlendi, toplamda 1 kere düzenlendi.

yusuf simsek
Üye
Mesajlar: 307
Kayıt: 09 Mar 2004 11:18
Konum: Konya
İletişim:

Re: UPDATE ile Ikı Tablo da alan guncellemek !!!

Mesaj gönderen yusuf simsek » 21 Ara 2018 04:34

İkinci linkte bu şekilde bir işlem yapılamayacağı bilgisi var!!!

https://social.technet.microsoft.com/Fo ... orum=sqltr
Bugün bir kez daha,
Hiç Birşey Bilmediğimi Öğrendim!!!

https://extrayazilim.com

Cevapla