Oracle PL SQL rowcount วิธีการ เช็ค ถ้าเคยมีอยู่แล้วให้ Update ถ้าไม่มีให้ Insert  สร้างคำถาม

 5,013 view  หมวดหมู่ : สำหรับโปรแกรมเมอร์  วันที่สร้าง : 04/04/2017

Oracle PL SQL rowcount วิธีการ เช็ค ถ้าเคยมีอยู่แล้วให้ Update ถ้าไม่มีให้ Insert


ถ้าเราเจอโจทย์ในการ Update Data ว่า ถ้าไม่เคยมี Record ให้ Insert ลงไปก่อน
บางทีเราก็ใช้วิธีการ select หรือ count ดูก่อน
ถ้ามี ก็ Update ถ้าไม่มีก็ insert
วิธีนี้ บางทีมันก็ทำให้เราต้องมา count ก่อนทุกครั้ง
ผมทีทางออกครับ โดยทำดังนี้
มาถึงเราก็ Update เลยไม่ต้องสนในว่า มีหรือไม่มี
จากนั้นค่อยมาเข็คทีหลังว่า Update ไปกี่ Record
ถ้า มากกว่า 0 ก็ไม่ต้องทำอะไร
แต่ถ้า Update ไม่ได้ซัก record แสดงว่าไม่เคยมีมาก่อน
เราก็จัดการ Insert ลงไปซะ

เราสามารถใช้คำสั่ง SQL%ROWCOUNT ในการเช็คได้
หลังจาก update ถ้า SQL%ROWCOUNT=0 แสดงว่า ไม่เคยมี
แต่ถ้า SQL%ROWCOUNT > 0 แสดงว่า update ได้
ตามตัวอย่าง Code ด้านล่าง

UPDATE mytable
SET myfield = 50
WHERE code_id = 1001;
IF SQL%ROWCOUNT = 0 THEN
INSERT INTO mytable (code_id, myfield)
VALUES (50, 1001);
END IF;

ประมาณนี้ครับ


ถ้าชอบบทความนี้ กด Like เลย :Oracle PL SQL rowcount วิธีการ เช็ค ถ้าเคยมีอยู่แล้วให้ Update ถ้าไม่มีให้ Insert
TAGS : Oracle   Programming   โปรแกรมมิ่ง  
 5,013 view  หมวดหมู่ : สำหรับโปรแกรมเมอร์  วันที่สร้าง : 04/04/2017



SOA,Java,XSLT

 ร่วมแสดงความคิดเห็นได้ที่นี่




× แจ้งเตือน! เราสนับสนุนทุกความคิดเห็น ที่ ใช้ถ้อยคำสุภาพ ไม่ละเมิดผู้อื่น ไม่ก่อให้เกิดความขัดแย้ง

เนื้อหาที่เกี่ยวช้อง

  Oracle วิธีเก็บข้อมูล String ยาวๆ ลงใน CLOB ถามเมื่อ (2018-09-07)   1,819 views  (ดูล่าสุดเมื่อ 5 นาที)

  NPM คืออะไร หาคำตอบได้ที่นี่ ถามเมื่อ (2015-09-30)   2,169 views  (ดูล่าสุดเมื่อ 8 นาที)

  HBASE การออกแบบโครงสร้าง แบบ Map Key Value ที่ควรรู้ ถามเมื่อ (2017-02-07)   3,434 views  (ดูล่าสุดเมื่อ 11 นาที)

  Ireport การทำ Row สลับ สี Background Color แถวคู่แถวคี่ Jasper report ถามเมื่อ (2018-11-30)   2,136 views  (ดูล่าสุดเมื่อ 12 นาที)

  Ireport เทคนิคการทำแบบฟอร์มโดยใช้ Image Background เป็นแม่แบบ ถามเมื่อ (2018-12-18)   2,683 views  (ดูล่าสุดเมื่อ 13 นาที)

  Ireport เทคนิคการทำแบบฟอร์มด้วย Image Background ถามเมื่อ (2018-12-18)   2,649 views  (ดูล่าสุดเมื่อ 15 นาที)

  Angular select set selected อย่างไร ถามเมื่อ (2019-06-01)   1,812 views  (ดูล่าสุดเมื่อ 20 นาที)

  Hashmap กับ Hashtable ใน Java ต่างกันยังไงครับ ถามเมื่อ (2017-11-15)   4,057 views  (ดูล่าสุดเมื่อ 24 นาที)

  Hadoop คืออะไร ทำความรู้จักกับ Apache Hadoop ในการรับมือกับ Big Data ถามเมื่อ (2017-02-07)   4,341 views  (ดูล่าสุดเมื่อ 27 นาที)

  HTTP Request แบบ POST รับได้มากสุดกี่ตัว ถามเมื่อ (2016-07-27)   2,009 views  (ดูล่าสุดเมื่อ 29 นาที)


 

บ้านเดียวกันดอทคอม เว็บถามตอบ รวมทุกเรื่องที่คุณอยากรู้ ให้ความรู้ ความบันเทิง มีสาระ
www.ban1gun.com