PLSQL Select into กับ Dynamic SQL โดยใช้ EXECUTE IMMEDIATE
บทความเกี่ยวกับ : PLSQL Select into กับ Dynamic SQL โดยใช้ EXECUTE IMMEDIATE
ปรกติเวลาเราจะ Select ค่าแบบ Single Record แล้วใช้ คำสั่ง into
เพื่อเก็บค่าไว้ในตัวแปร เราจะใช้คำสั่งนี้
select std_name into v_std_name from student where std_id='1001'
แบบนี้เราก็จะได้ค่าของ std_name ของ รหัส '1001' มาเก็บในตัวแปร v_std_name
แบบง่ายๆ กันเลยทีเดียว
แต่ถ้าหากโจทย์มีอยู่ว่า เราจำเป็นต้องใช้แบบ Dynamic SQL คือ เก็บ Statement ไว้ใน ตัวแปร
แล้วค่อยนำมา Execute อีกที แล้วแบบนี้จะใส่ into ยังไงดีล่ะ ?
วิธีการคือให้ใช้ EXECUTE IMMEDIATE แล้วต่อด้วย into ตามหลัง
ตัวอย่างการใช้งาน
v_sql:='select std_name from student where std_id=''1001''';
EXECUTE IMMEDIATE v_sql INTO v_std_name;
ประมาณนี้ครับ
ปรกติเวลาเราจะ Select ค่าแบบ Single Record แล้วใช้ คำสั่ง into
เพื่อเก็บค่าไว้ในตัวแปร เราจะใช้คำสั่งนี้
select std_name into v_std_name from student where std_id='1001'
แบบนี้เราก็จะได้ค่าของ std_name ของ รหัส '1001' มาเก็บในตัวแปร v_std_name
แบบง่ายๆ กันเลยทีเดียว
แต่ถ้าหากโจทย์มีอยู่ว่า เราจำเป็นต้องใช้แบบ Dynamic SQL คือ เก็บ Statement ไว้ใน ตัวแปร
แล้วค่อยนำมา Execute อีกที แล้วแบบนี้จะใส่ into ยังไงดีล่ะ ?
วิธีการคือให้ใช้ EXECUTE IMMEDIATE แล้วต่อด้วย into ตามหลัง
ตัวอย่างการใช้งาน
v_sql:='select std_name from student where std_id=''1001''';
EXECUTE IMMEDIATE v_sql INTO v_std_name;
ประมาณนี้ครับ
ความคิดเห็น
แสดงความคิดเห็น