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

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



SOA,Java,XSLT

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




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

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

  ลง Apserv แล้วค้างตรง service mysql ถามเมื่อ (2018-07-22)   2,711 views  (ดูล่าสุดเมื่อ 14 นาที)

  Oracle SQL วิธี query field CLOB แปลงเป็น String ถามเมื่อ (2018-09-07)   4,053 views  (ดูล่าสุดเมื่อ 15 นาที)

  ng model ใน AngularJS คือ อะไร ถามเมื่อ (2015-06-18)   1,842 views  (ดูล่าสุดเมื่อ 15 นาที)

  Jquery window height VS document height สอง function นี้ต่างกันอย่างไร ถามเมื่อ (2019-05-29)   1,663 views  (ดูล่าสุดเมื่อ 16 นาที)

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

  SOA คืออะไร Service Oriented Architecture เรื่องเก่ามาเล่าใหม่ ถามเมื่อ (2015-08-28)   2,844 views  (ดูล่าสุดเมื่อ 32 นาที)

  appserv detected that old version กดตกลงแล้วค้าง ถามเมื่อ (2018-07-22)   1,519 views  (ดูล่าสุดเมื่อ 42 นาที)

  unix command remove ไฟล์ แบบไม่ต้อง confirm Y ถามเมื่อ (2016-09-23)   1,780 views  (ดูล่าสุดเมื่อ 52 นาที)

  เมื่อไรจึงควรนำ Rule Engine เข้ามาใช้ ถามเมื่อ (2015-09-16)   2,124 views  (ดูล่าสุดเมื่อ 53 นาที)

  ORACLE alter table not null ยังไงครับ ถามเมื่อ (2017-11-10)   1,354 views  (ดูล่าสุดเมื่อ 64 นาที)


 

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