บทความ

PL SQL Array การประกาศตัวแปร Array และวิธีการใช้งานใน PLSQL

บทความเกี่ยวกับ : PL SQL Array การประกาศตัวแปร Array และวิธีการใช้งานใน PLSQL วันนี้มีตัวอย่างการใช้ งาน Array ใน PLSQL มาฝากครับ การประกาศและรียกใช้งาน ก็จะคล้ายๆ ภาษาโปรแกรมมิ่ง ทั่วไป เริ่มจากการ กำหนด Data Type TYPE t_array IS VARRAY(10) OF VARCHAR2(20); กำหนด datatype  Array ของ varchar2(20)  จำนวน  10 ช่อง อันนี้ก็เหมือนกับ Array ของที่อื่นๆ ที่ต้องกำหนดจำนวนช่องไว้ให้ชัดเจนแต่แรก T_T ต่อมาก็ำกหนดตัวแปรง่ายๆ v_array := t_array ('1','2','3','4','5'); เวลาเรียกใช้ ก็ ง่ายๆ แบบนี้ครับ v_array(1)   หมายถึง array ช่องที่ 1 มาดูตัวอย่างการใช้งานแบบเต็มๆ กันเลยครับ DECLARE   TYPE t_array IS VARRAY(10) OF VARCHAR2(20);   v_array := t_array ('1','2','3','4','5'); BEGIN    for i in 1 .. v_array.count loop       DBMS_OUTPUT.PUT_LINE('array val is '||v_array(i));    end loop; END;

PL SQL Fetch Cursor วิธีวน Loop ข้อมูลออกจาก Cursor ใน PL SQL

บทความเกี่ยวกับ : PL SQL Fetch Cursor วิธีวน Loop ข้อมูลออกจาก Cursor ใน PL SQL วันนี้จะนำเสนอ การ Query ข้อมูลใน SQL Script ของ Oracle แล้วแล้วทำการ Fetch data ออกมา ด้วยการวน Loop  ตามตัวอย่างเลยครับ DECLARE TYPE cur is REF CURSOR; myCursor cur; out_rec my_tbl%rowtype; BEGIN     open myCursor for select * from my_tbl;     LOOP FETCH myCursor into out_rec;     EXIT WHEN myCursor%NOTFOUND;       DBMS_OUTPUT.PUT_LINE('example data '||out_rec.my_field);     END LOOP;     CLOSE myCursor; EXCEPTION   WHEN OTHERS THEN   DBMS_OUTPUT.PUT_LINE('ERROR >>  '|| SQLERRM); END; ตัวอย่างการ Query แล้ววน Loop แบบเรียบง่ายครับ ลองเอาไปใช้กันดูครับ

Java read file การเขียน Java เพื่อ อ่านไฟล์ในแบบต่างๆ

บทความเกี่ยวกับ : Java read file การเขียน Java เพื่อ อ่านไฟล์ในแบบต่างๆ การเขียนโปรแกรม Java เพื่อ อ่านไฟล์นั้น ถือว่าเป็นเรื่องที่ค่อนข้่างจะต้องถ่ายข้อมูลหลายขั้นตอนพอสมควร  เดี๋ยวจะยกตัวอย่างการ เขียนโปรแกรมเพื่อ อ่านไฟล์ .txt แบบสั้นๆ ง่ายๆ ให้ดูนะครับ import java.io.*; class ReadFileExample {  public static void main(String args[])   {   try{  // อ่านไฟล์ ใส่ path ให้ถูกต้องนะครับ ระบุ path เต็มไปเลยก็ได้   FileInputStream is = new FileInputStream("file.txt");   DataInputStream ds = new DataInputStream(is);   BufferedReader br = new BufferedReader(new InputStreamReader(ds)); //ทำสาม step นี้ให้เสร็จครับจนได้ BufferedReader แล้วก็เอามาวน Loop ออกได้เลย   String strLine;   while ((strLine = br.readLine()) != null)   {       System.out.println (strLine);   }   ds.close();     }catch (Exception e){   e.getMessage();   }   } } ขั้นตอน ผมจะท่องไว้...

Java Shorthand เช็ค if else แบบกระชับ ได้เรื่อง

บทความเกี่ยวกับ : Java Shorthand เช็ค if else แบบกระชับ ได้เรื่อง เพื่อนๆ คงจะคุ้นเคยกับการเช็คเงื่อนไข if else ด้วย statement แบบ classic แบบนี้ if(expression) {    // do some thing    // do some thing }else{   // do some thing   // do some thing } จาก Code แบบ classic จะเห็นว่ามันค่อนข้างจะยาวแบบนี้จะเหมาะกับการทำงานใน if ที่หลายๆ คำสั่ง ประมาณว่า if(expression) {    // do some thing    // do some thing    // do some thing   // do some thing }else{   // do some thing   // do some thing   // do some thing } แต่ถ้าเกิดเราต้องการทำเพียงแค่นี้ if(expression) {    // do some thing }else{   // do some thing } แบบว่า do some thing แค่ statement เดียว ผมขอแนะนำให้รู้จัก Java Shorthand กับ statement สั้นๆ ง่ายๆ ได้เรื่อง......... แบบนี้ เงื่อนไข ? ถ้าเป็นจริงทำตรงนี้ : ถ้าไม่จริงทำตรงนี้ (expression) ? (true action) : (false actio...

java.lang.UnsupportedClassVersionError: Bad version number in .class file Error ตัวนี้เล่นเอาซะงง

บทความเกี่ยวกับ : java.lang.UnsupportedClassVersionError: Bad version number in .class file Error ตัวนี้เล่นเอาซะงง java.lang.UnsupportedClassVersionError: Bad version number in .class file Error ตัวนี้เล่นเอาซะงง วันนี้อยู่ๆ ก็งานเข้าซะงั้นเมื่อโปรแกรมที่ Run ได้มาตลอดอยู่ๆ ก็มีปัญหา เหตุเกิดเนื่องจากว่ามี Lib ที่ Export มาจาก JDK ต่าง Version กันแค่นั้นเอง สุดยอด ไม่น่าเชื่อว่ามันจะส่งผลได้ขนาดนี้ Server ใช้ jdk version 1.5  แต่มี jar บางตัวที่น้อง export ออกมาจากเครื่อง dev ที่เป็น jdk version สูงกว่า ผลที่ได้ก็เจอ error ดังกล่าวข้างต้นแหละครับ ทางแก้ยังไม่ได้ดูละเอียดแต่ตอนนี้แก้ปัญหาเฉพาะหน้าด้วยการ export jar ใหม่ด้วย jdk 1.5 ก็ถือว่าโอเคครับ ผมคุ้นๆว่าตอน export jar หรือตอน compile น่าจะมี set ได้ว่าจะให้ target ออกไปเป็น version อะไร เดี๋ยวจะลองให้ดูอีกทีนะคร้าบ

Java Call PLSQL Oracle Function และ Store procedure

บทความเกี่ยวกับ : Java Call PLSQL Oracle Function และ Store procedure ตัวอย่างการเขียนโปรแกรมด้วยภาษา Java เพื่อเรียกใช้งาน PLSQL นั้นแตกต่างจากการเขียนเพื่อ Execute SQL statement ธรรมดาอยูนิดหน่อยตามตัวอย่างครับ CallableStatement call=null; ResultSet rs=null; try {                                    call = con.prepareCall("{call TEST_PACK.TEST_PROC(?,?,?) }");             call.registerOutParameter(1, oracle.jdbc.driver.OracleTypes.CURSOR);             call.setString(2,"10001");             call.setString(3,"TEST");                        call.execute();           ...

Oracle PLSQL Procedure ต่างกับ Function ยังไง

บทความเกี่ยวกับ : Oracle PLSQL Procedure ต่างกับ Function ยังไง เพื่อนๆ หลายๆคนคงจะเคยเขียน Program บน Oracle ด้วย PLSQL กันมาบ้าง PLSQL ต่างจาก SQL commmand ตรงที่สามารถใน่ Logic ต่างๆเข้าไปได้มากกว่าไม่ว่าจะเป็น การเช็คเงื่อนไข การ วน Loop เป็นต้น แต่หลายคนอาจสงสัยว่า Procedure ต่างจาก Function ยังไง ผมเองตอนหัดเขียนใหม่ๆ ก็ใช้แต่ Function เพราะคุ้นเคยกับการเขียน Java ที่เป็น method มี input parameter และก็มี return value แต่พอเริ่มเขียนเยอะขึ้นจึงได้เปลี่ยนมาใช้ Procedure แทน ผมจะบอกข้อแตกต่างที่เห็นได้ชัดเจนที่สุดและเป็นประโชยน์ที่สุดให้ฟังเพียงข้อเดียวนะครับคือ   ** Parameter ของ procedure มีได้ทั้ง In และ Out นั่นหมายความว่าคุณสามารถส่งค่าเข้า procedure ได้หลายค่าและก็ return ค่ากลับออกมาได้หลายค่าเช่นกัน สุดยอดดด แต่ ในส่วนของ function นั้นสามารถรับ parameter ได้หลายค่าก็จริงแต่ return ค่ากลับออกมาได้เพียงค่าเดียวเหมือนที่เราคุ้นเคยกัน