บทความ

กำลังแสดงโพสต์ที่มีป้ายกำกับ oracle

Java Call PLSQL With Input data type Table Array of Records

 ตัวอย่าง Code Java กรณีที่เราต้องการ ส่ง Parameter เข้า Oracle PLSQL แบบ รับ Input เป็น Array of Records   ข้อดีคือทำให้เราสามารถ Call PLSQL ผ่าน JDBC ครั้งเดียวแล้วส่ง List of Data เข้าไป ประมวลผลใน PLSQL ได้เลย (ปรกติก็วนเรียก ทีละ record เอาก็ได้อ่ะนะ ^^) สิ่งสำคัญที่ต้องทำเพิ่มเติมมีดังต่อไปนี้ 1. การ Map Data Type โดยจะต้องทำการ Mapping ทั้ง Type ที่เป็น Record และ Type Array ตามตัวอย่างด้านล่าง         StructDescriptor sd = StructDescriptor.createDescriptor("MY_RECORD", conn);         ArrayDescriptor ad = ArrayDescriptor.createDescriptor("MY_ARRAY", conn); conn หมายถึงตัวแปร Connection ที่ connect database ไว้แล้วนะครับ ซึ่ง การ Run สองคำสั่งนี้ ทางฝั่ง Database Oracle จะต้องมีการ Create TYPE ตามที่เราส่ง parameter ไว้แล้วนะครับ ถ้าหากไม่มีจะ เกิด Exception ขึ้นทันที   ตัวอย่างการ Create type ที่ Oracle PLSQL ก็ประมาณนี้  ตัวอย่างการ Create Type ที่เป็น Record (Object) CREATE OR REPLACE TYP...

Oracle PLSQL Replace String With REGEXP_REPLACE

บทความเกี่ยวกับ : Oracle PLSQL Replace String With REGEXP_REPLACE ตัวอย่างการใช้คำสั่ง REGEXP_REPLACE REGEXP_REPLACE('String ตั้งต้น', 'เงื่อนๆไข REGEXP','String ที่จะ Replace'); ตัวอย่างการใช้งาน     SELECT REGEXP_REPLACE ('XXTEST1X23', '^(XX*)', 'YY') FROM dual; --ผลที่ได้คือ : YYTEST1X23 SELECT REGEXP_REPLACE ('XXTEST1XX23', '^(X)', 'YY') FROM dual; --ผลที่ได้คือ : YYXTEST1XX23 SELECT REGEXP_REPLACE ('XXTEST1XX23', '^(X*)', 'YY') FROM dual; --ผลที่ได้คือ : YYTEST1XX23 SELECT REGEXP_REPLACE ('XXTEST1XX23', 'XX', 'YY') FROM dual;--ผลที่ได้คือ : YYTEST1YY23 SELECT REGEXP_REPLACE ('XXTEST1XX23', 'X', 'YY') FROM dual; FROM dual;--ผลที่ได้คือ : YYYYTEST1YYYY23 SELECT REGEXP_REPLACE ('XXTEST1XX23', 'X+', 'YY') FROM dual;--ผลที่ได้คือ : YYTEST1YY23 SELECT REGEXP_REPLACE ('XXTEST1XX23', 'X+|E', ...