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

 4,982 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   โปรแกรมมิ่ง  
 4,982 view  หมวดหมู่ : สำหรับโปรแกรมเมอร์  วันที่สร้าง : 04/04/2017



SOA,Java,XSLT

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




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

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

  วิธี Add Classpath iReport เพื่อ Connect database Oracle ผ่าน JDBC ถามเมื่อ (2018-10-08)   3,033 views  (ดูล่าสุดเมื่อ 3 นาที)

  POJO คืออะไรในภาษา Java คือ Object ธรรมดาๆ หรือเปล่า ถามเมื่อ (2015-08-28)   8,540 views  (ดูล่าสุดเมื่อ 18 นาที)

  BPEL กับ BPMN ต่างกันยังไง ถามเมื่อ (2015-08-28)   5,596 views  (ดูล่าสุดเมื่อ 20 นาที)

  ความแตกต่างระหว่าง RDBMS กับ Hadoop NoSQL ถามเมื่อ (2017-02-07)   3,810 views  (ดูล่าสุดเมื่อ 20 นาที)

  Oracle if else เขียนยังไงครับใน PL SQL ถามเมื่อ (2013-03-04)   3,314 views  (ดูล่าสุดเมื่อ 20 นาที)

  Oracle EXISTS select where โดยใช้ EXISTS เพื่อ Query เร็วขึ้น ถามเมื่อ (2017-03-03)   3,657 views  (ดูล่าสุดเมื่อ 22 นาที)

  Oracle sql วิธี like with multiple value ถามเมื่อ (2019-02-13)   2,124 views  (ดูล่าสุดเมื่อ 54 นาที)

  PLSQL วิธี Fetch ข้อมูลใน Cursor แบบต่างๆ ถามเมื่อ (2020-02-28)   5,371 views  (ดูล่าสุดเมื่อ 55 นาที)

  IDE ยอดนิยมในการเขียน Code ภาษาJava คือตัวใหนครับ ถามเมื่อ (2015-08-28)   2,204 views  (ดูล่าสุดเมื่อ 62 นาที)

  datatables เปลี่ยน default rows per page จำนวน Record ที่แสดงต่อหน้า ถามเมื่อ (2017-06-01)   2,045 views  (ดูล่าสุดเมื่อ 62 นาที)


 

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