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

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



SOA,Java,XSLT

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




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

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

  Spring 4 เจอ error java lang ClassNotFoundException org springframework orm hibernate3 annotation AnnotationSessionFactoryBean ถามเมื่อ (2017-03-24)   1,782 views  (ดูล่าสุดเมื่อ 14 นาที)

  SQL Command select ข้อมูลที่มี รหัสซ้ำกัน หรือ ID ซ้ำกัน ถามเมื่อ (2016-01-15)   1,907 views  (ดูล่าสุดเมื่อ 17 นาที)

  Oracle SQL MOD หารเอาเศษยังไงครับ ถามเมื่อ (2017-03-03)   5,252 views  (ดูล่าสุดเมื่อ 18 นาที)

  Java วิธี Query Field CLOB จาก Oracle ถามเมื่อ (2018-09-07)   1,477 views  (ดูล่าสุดเมื่อ 19 นาที)

  PHP gen Barcode ตัวอย่างโปรแกรม Gen Barcode Images ด้วย PHP ถามเมื่อ (2013-07-16)   2,510 views  (ดูล่าสุดเมื่อ 21 นาที)

  Oracle SQL Command Query Record แรก ที่ซ้ำกันมาเพียง 1 Record ด้วย PARTITION ถามเมื่อ (2018-04-26)   1,717 views  (ดูล่าสุดเมื่อ 36 นาที)

  Spring framework วิธีดึง Config จาก PropertyPlaceholderConfigurer ถามเมื่อ (2018-12-21)   1,223 views  (ดูล่าสุดเมื่อ 49 นาที)

  อยากได้วิธีใช้ nero 9 ตัวเต็มอ่ะครับ ถามเมื่อ (2011-09-29)   2,677 views  (ดูล่าสุดเมื่อ 51 นาที)

  วิธีทดสอบ Java Client Call https SSL ด้วย SSLPoke ถามเมื่อ (2017-01-25)   2,243 views  (ดูล่าสุดเมื่อ 56 นาที)

  XSL คืออะไร ต่างจาก CSS ยังไง ทำความรู้จักกับ XSL ในการจัดรูปแบบ XML ถามเมื่อ (2014-05-27)   3,460 views  (ดูล่าสุดเมื่อ 57 นาที)


 

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