Postgresql forumlarında şöyle bir şey gördüm, denedim çalıştı. *CREATE OR REPLACE RULE db_log_insert AS* * ON INSERT TO db DO INSERT INTO db_log (a, b) * * VALUES ( (SELECT lastval()), new.b);*
06 Mayıs 2011 13:35 tarihinde Namık Güngör <[email protected]> yazdı: > CREATE TABLE db (a serial PRIMARY KEY, b TEXT); > > > > CREATE TABLE db_log (a integer , b TEXT); > > > > CREATE OR REPLACE RULE db_log_insert AS > > ON INSERT TO db DO INSERT INTO db_log (a,b) > > VALUES (new.a, new.b); > > > > INSERT INTO db (b) > > VALUES ('deneme'); > > > > INSERT INTO db (b) > > VALUES ('deneme1'); > > > > INSERT INTO db (b) > > VALUES ('deneme2'); > > > > select * from db > > 1;"deneme" > > 3;"deneme1" > > 5;"deneme2" > > > > Select * from db_log > > 2;"deneme" > > 4;"deneme1" > > 6;"deneme2" > > > > Merhaba. Yukarıdaki örnekte olduğu gibi bütün tablolarım için bir log > tablosu tutuyorum. > > Fakat insert için rule tanımladıktan sonra "db" tablosundaki serial key > tanımlı alan ikişer ikişer artmaya başlıyor. > > Aynı zamanda db_log tablosundaki a alanı db tablosundaki a alanının 1 > fazlası oluyor. > > Aynı tablolarda update ve delete için de rule lar var. Bunlarda bir problem > olmadan düzgün değerleri alıyorum. Fakat insert için böyle bir sorun var. > > Nerede yanlış yapıyorum? > > > > İyi çalışmalar. > > > > Namık Güngör > > Ofis İletişim Bilgisayar San.Tic.Ltd.Şti. > İzzetpaşa Mah. Yeniyol Cd. No: 1/2 > > 34387 Şişli - İstanbul > Tel : +90 212 219 88 77 > Faks : +90 212 219 88 80 > > [email protected] > > www.ofisiletisim.com.tr > > [image: Description: Description: Description: Description: OfisLogo] > > > > _______________________________________________ > Linux-programlama mailing list > [email protected] > https://liste.linux.org.tr/mailman/listinfo/linux-programlama > Liste kurallari: http://liste.linux.org.tr/kurallar.php > >
<<image001.jpg>>
_______________________________________________ Linux-programlama mailing list [email protected] https://liste.linux.org.tr/mailman/listinfo/linux-programlama Liste kurallari: http://liste.linux.org.tr/kurallar.php
