Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
PostgreSQL trigger hatası
#1
Merhaba

PostgreSQL de trigger yazmada sorun yaşıyorum. Tablo içindeki BAKIYE sütünunda güncelleme olduğunda aynı tablodaki SON isimli sütüna BAKIYE sutunun update önceki değerini yazdırmak istiyorum.

Yazdığım trigger daki hatayı bulamadım. sorun nerede olabilir?

function:
   


   


   

Hata:
   
Cevapla
#2
Öncelikle update kısmına where ID ekleyin aksi durumda tüm kayıtları bozarsiniz. Where ID = New.id
İkinci kontrol olarak old.bakiye != New.bakiye durumunda güncelleme yapın gereksiz güncelleme işlemini engeller.
Return null yapın.

Ayrıca postgresql kullanırken tanımlamalar küçük harfle yapın.
PostgreSQL - Linux - Delphi, Poliüretan
WWW
Cevapla
#3
(03-01-2022, Saat: 18:51)3ddark Adlı Kullanıcıdan Alıntı: Öncelikle update kısmına where ID ekleyin aksi durumda tüm kayıtları bozarsiniz. Where ID = New.id
İkinci kontrol olarak old.bakiye != New.bakiye durumunda güncelleme yapın gereksiz güncelleme işlemini engeller.
Return null yapın.

Ayrıca postgresql kullanırken tanımlamalar küçük harfle yapın.

cevap için teşekkür ederim. Bugün denme fırsatım oldu ve aşağıdaki şekilde çözüldü. "(çift tırnak) olmadan sutunları tanımıyor.

CREATE OR REPLACE FUNCTION onceki_bakiye()
 RETURNS TRIGGER
 LANGUAGE PLPGSQL
 AS
$$
BEGIN
    IF NEW."BAKIYE" <> OLD."BAKIYE" THEN
        UPDATE "RAKAM" SET "SON" = OLD."BAKIYE"  WHERE "ID"=NEW."ID";
    END IF;

    RETURN NEW;
END;
$$

CREATE TRIGGER onceki_bakiye
 AFTER UPDATE
 ON "RAKAM"
 FOR EACH ROW
 EXECUTE PROCEDURE onceki_bakiye();
Cevapla
#4
Tablo ve kolon adlarını dediğim gibi küçük ve Türkçe karakter olmadan yazarsanız çift tırnak kullanmanıza gerek yok.
Postgresql tarafında böyle kullanılması tavsiye edilir.
PostgreSQL - Linux - Delphi, Poliüretan
WWW
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  postgresql hakkında erdal51 9 315 28-09-2021, Saat: 14:20
Son Yorum: mcuyan
  Postgresql date alan ekleme sorunu barissagir 7 1.356 22-01-2021, Saat: 00:00
Son Yorum: barissagir
  Postgresql de Fonksiyon Parametrelerine göre Where kısmını oluşturmak barissagir 3 895 12-12-2020, Saat: 13:00
Son Yorum: barissagir
  Postgresql Fonksiyon barissagir 2 858 27-11-2020, Saat: 14:52
Son Yorum: barissagir
  postgreSQL database oluşturma işlemi akuyumcu63 3 2.393 30-10-2019, Saat: 22:35
Son Yorum: TescilsizUzman



Konuyu Okuyanlar: 1 Ziyaretçi