อ่าน: 109
ความเห็น: 0
ความเห็น: 0
การ Share ชุดคำสั่งบน ORACLE Stored Procedure
ORACLE Stored Procedure
ชุดคำสั่ง (Stored Procedure) บนระบบจัดการฐานข้อมูล ORACLE ที่ใช้งานกันบ่อยๆ มีด้วยกัน 3 ประเภทคือ Procedure, Function และ Package โดยมีรูปแบบการเขียนเป็นโครงสร้างโปรแกรมในรูปแบบ PL/SQL โดยมีรายละเอียดในแต่ละประเภทดังนี้
1. Procedure เป็นรูปแบบชุดคำสั่งแบบ PL/SQL ที่เมื่อทำงานเสร็จจะไม่ส่งค่ากลับมายังผู้เรียก
2. Function เป็นรูปแบบชุดคำสั่งแบบ PL/SQL ที่เมื่อทำงานเสร็จจะไม่ส่งค่ากลับมายังผู้เรียก
3. Package เป็นรูปแบบชุดคำสั่งที่รวม Procedure และ Function เข้าเป็นชุดคำสั่งย่อยๆใน Package ได้มีองค์ประกอบภายใน 2 รูปแบบประกอบกันคือ Package Spec และ Package Body
- Package Spec เป็นการระบุข้อมูลชื่อและพารามีเตอร์สำหรับ Procedure และ Function ภายใน
- Package Body เป็นชุดคำสั่งรูปแบบ PL/SQL สำหรับแต่ละ Procedure และ Function ที่ระบุใน Package Spec
เป้าหมายของบันทึกนี้: เพื่อสร้าง Stored Procedure ชุดเดียวให้สามารถเรียกใช้งานโดยใช้จากตารางข้อมูลของผู้เรียก
ที่มาของข้อมูล: ข้อมูลที่ใช้ในบันทึกนี้จะเป็นเรื่องเลขเรียกหนังสือ (Call Number) ซึ่งใช้กำหนดหมวดหมู่หนังสือของระบบห้องสมุด
https://www.loc.gov/catdir/cpso/lcco/
ขั้นตอน:
1. สร้างตารางข้อมูลบน User#1 และเพิ่มข้อมูลดังนี้
2. สร้าง Stored Procedure (Function) บน User#1 ดังรูป
3. ทดสอบเรียก Function จาก User#1 (Schema name: BI01)
4. สร้างตารางข้อมูล TL_LC_CLASS บน User#2 (BI02) เพิ่มข้อมูล 5 รายการ ดังรูป
5. หากต้องการให้ User#2 เรียกใช้งาน Function จาก User#1 โดย Execute ข้อมูลของตนเอง มีขั้นตอนดังนี้
- เพิ่มข้อความ Authid Current_User บน Function ของ User#1
- Grant Execute Function ให้ User#2 สามารถเรียกใช้งานได้ ดังรูป
6. ทดสอบการเรียกใช้งาน Function ดังรูป
สรุป การสร้าง Procedure และ Package เพื่อให้สามารถเรียกใช้งานจาก Schema อื่นโดยยัง Execute จากข้อมูลของผู้เรียก สามารถดำเนินการได้คล้ายการสร้าง Function ตามตัวอย่างข้างต้น
สร้าง: 27 พฤศจิกายน 2563 16:02
แก้ไข: 27 พฤศจิกายน 2563 16:02
[ แจ้งไม่เหมาะสม ]
บันทึกอื่นๆ
- เก่ากว่า « ORACLE XE: ORACLE ฟรีที่น่านำมาใ...
ร่วมแสดงความเห็นในหน้านี้