Translate

วันพฤหัสบดีที่ 2 มีนาคม พ.ศ. 2560

Create Type of Oracle

           สวัสดีครับหลายคนอาจจะยังไม่รู้ว่าการ Create Type ใน Oracle คืออะไรทำไมต้องทำจะเหมือน stored Procedure กับ function มั้ย หลายคนอาจรู้จัก Data Type แล้วการ Create Type ก็คือการ Create Data Type มาใช้เองนั่นเอง ซึ่งเราสามารถกำหนดและระบุเองได้ว่าอยากให้ Type นี้มีคุณสมบัตรอย่างไรบ้าง

Create Type Example

CREATE TYPE CAR AS OBJECT
    ( CAR_ID        NUMBER
    , CAR_BRAND    VARCHAR2(20)
    , CAR_TYPE     VARCHAR2(20)
    , CAR_NAME     VARCHAR2(100)
    , CAR_COLOR    VARCHAR2(50)
    , REGISTRATION VARCHAR2(20)
    , COUNTRY      VARCHAR2(30)
    ) ;
Data Type ปกติที่ Oracle มีให้ใช้ทั่วไป เช่น VARCHAR2,NUMBER.BLOB,CLOB เป็นตัน ซึ่งจากตัวอย่างด้านบนเราสร้าง DATA TYPE ขึ้นมาเพิ่มอีก 1 ตัวคือ CAR DATA TYPE ซึ่งถ้าเทียบกับใน java ก็คือ object หรือ bean ตัวนึงนั่นเอง CAR_ID,CAR_BRAND เป็น Attribute การนำไปใช้สามารถใช้ได้หลายรูปแบบ ถ้าเป็น Object เดี่ยวๆก็ประกาศใช้เหมือน DATA TYPE ทั่วไปได้เลย แต่ถ้าต้องการเป็นหลาย Object หรือเรียกว่า List Collection สามารถใช้ได้ตามด้านล่าง

Table Type (Array) Example

 TYPE CAR_LIST IS TABLE OF CAR INDEX BY BINARY_INTEGER;

จากตัวอย่าง TYPE ชื่อ CAR_LIST มี VALUE TYPE CAR มี INDEX เป็น INTEGER 

การ assign value ให้กับ CAR_LIST
ถ้าต้องการ assign HONDA,TOYOTA,BMW ให้กับ CAR_LIST Attribute  CAR_BRAND 
l_car_list CAR_LIST;
l_car_list(0).CAR_BRAND := 'HONDA';
l_car_list(1).CAR_BRAND := 'TOYOTA';
l_car_list(2).CAR_BRAND := 'BMW';

หากต้องการ get value จาก CAR_LIST 
p_value VARCHAR2(100);
p_value := l_car_list(0).CAR_BRAND; เป็นต้น

วันนี้พอแค่นี้ก่อนนะครับ หวังว่าจะช่วยผู้ที่กำลังศึกษาพื้นฐานอยู่ไม่มากก็น้อยครับ ขอบคุณครับ

ไม่มีความคิดเห็น:

แสดงความคิดเห็น