Bulk Update

From: Fırat Güleç <firat(dot)gulec(at)hepsiexpress(dot)com>
To: pgsql-tr-genel(at)postgresql(dot)org
Subject: Bulk Update
Date: 2017-09-29 07:03:02
Message-ID: a8b4f5cc63e4c5ea15f0ed2a5e9a0e87@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-tr-genel

Merhabalar,

Bir konuda yardımınız ihtiyacım var. Postgresql 9.5.8 versiyonunu
kullanıyoruz. Bulk bir update yapmaya ihtiyacımız oldu, yaklaşık 4.5
milyonluk bir kayıt. Oracle’da begin end’in arasına commit koyabiliyorduk.
Fakat Postgresql’de bunu yapamadığımızı farkına vardık. 100 kayıt update
ettikten sonra commit yapmak istiyoruz. Bu gibi ihtiyaçlar için
Postgresql’de nasıl bir çözüm kullanıyorsunuz?

İyi çalışmalar.

Örnek kod:

*DECLARE **c_delivery **RECORD*
*; cur_rad CURSOR (**x_address_id **BIGINT**, **x_receiver_id **BIGINT**)
FOR SELECT ****
* FROM *
*receiver_address*
* WHERE *
*receiver_id** = **x_receiver_id*
*
AND
**address_id** = **x_address_id*
*; **c_rad **RECORD*

*;BEGIN FOR **c_delivery** IN SELECT ***** FROM **delivery** WHERE
recipient_address_id is NULL LIMIT **p_record_cnt*

* LOOP OPEN cur_rad(**c_delivery**.**receiver_address_id**,**c_delivery*
*.**receiver_id*
*); FETCH cur_rad INTO **c_rad*
*; IF **c_rad*

*.id IS NOT NULL THEN UPDATE *********** SET recipient_address_id =
**c_rad**.id WHERE **id** = **c_delivery**.**id*
*; UPDATE **************** SET recipient_address_id = **c_rad**.id
WHERE **delivery_id** = **c_delivery**.**id*

*; END IF; CLOSE cur_rad; END LOOP;END;*

*FIRAT GÜLEÇ*
Veritabanı Yöneticisi
firat(dot)gulec(at)hepsiexpress(dot)com

*M:* 0 532 210 57 18
İnönü Mh. Mimar Sinan Cd. No:3 Güzeller Org.San.Bölg. GEBZE / KOCAELİ
------------------------------

[image: Inline image 1]

Responses

Browse pgsql-tr-genel by date

  From Date Subject
Next Message M.Atıf CEYLAN 2017-09-29 20:58:16 Re: Bulk Update
Previous Message Fırat Güleç 2017-08-17 19:48:24 Re: Postgresql Hata