ความแตกต่างระหว่างขั้นตอนที่จัดเก็บและฟังก์ชัน
ขั้นตอนการจัดเก็บและฟังก์ชัน
ขั้นตอนและฟังก์ชันที่จัดเก็บไว้เป็นบล็อคการเขียนโปรแกรมสองประเภท ทั้งสองคนต้องมีชื่อเรียก ชื่อเรียกเหล่านี้ใช้เพื่อเรียกใช้งานภายในบล็อกการเขียนโปรแกรมอื่นเช่นฟังก์ชันและแพ็คเกจหรือแบบสอบถาม SQL ทั้งสองประเภทอ็อบเจ็กต์เหล่านี้ยอมรับพารามิเตอร์และทำงานด้านหลังวัตถุเหล่านั้น นี่คือไวยากรณ์ (ใน ORACLE) เพื่อสร้างกระบวนงานที่เก็บไว้
-สร้างหรือแทนที่ขั้นตอน procedename (parameters)
ตาม
เริ่มต้นงบ
;
ยกเว้น
exception_handling
end;
และนี่คือไวยากรณ์เพื่อสร้างฟังก์ชัน (ใน ORACLE),
สร้างหรือแทนที่ฟังก์ชัน function_name (parameters)return return_datatype
เป็นคำสั่ง
เริ่มต้น
;
return return_value / variable;
ยกเว้น;
end;
กระบวนงานที่จัดเก็บไว้
ดังที่ได้กล่าวมาแล้วขั้นตอนการจัดเก็บจะมีชื่อว่าบล็อคการเขียนโปรแกรม พวกเขายอมรับพารามิเตอร์เป็น input ของผู้ใช้และกระบวนการตามตรรกะที่อยู่เบื้องหลังขั้นตอนและให้ผล (หรือดำเนินการเฉพาะ) พารามิเตอร์เหล่านี้สามารถเป็น IN, OUT และ INOUT ได้ การประกาศตัวแปรการกำหนดตัวแปรคำสั่งควบคุมลูปการค้นหา SQL และฟังก์ชันอื่น ๆ / ขั้นตอน / แพคเกจการโทรสามารถอยู่ภายในตัวของกระบวนการ
Functions
ฟังก์ชันยังมีชื่อว่า blocks programming ซึ่งต้องคืนค่าโดยใช้คำสั่ง RETURN และก่อนที่มันจะส่งกลับค่าตัวของมันจะทำการกระทำบางอย่างด้วย (ตามตรรกะที่ระบุ) ฟังก์ชั่นยังยอมรับพารามิเตอร์ที่จะเรียกใช้ ฟังก์ชันสามารถเรียกได้ภายในการสืบค้นข้อมูล เมื่อฟังก์ชันถูกเรียกว่าภายในแบบสอบถาม SELECT จะใช้กับแต่ละแถวของชุดผลลัพธ์ของแบบสอบถาม SELECT มีหลายประเภทของฟังก์ชัน ORACLE ฟังก์ชันเหล่านี้ ได้แก่
ฟังก์ชันแถวเดี่ยว (ส่งกลับผลลัพธ์เดียวสำหรับแต่ละแถวของข้อความค้นหา)
- มีประเภทย่อยของฟังก์ชันแถวเดียว
ฟังก์ชันวันที่ (เช่น: LAST_DAY, NEXT_DAY)
- ฟังก์ชันการแปลง (เช่น TO_CHAR, TO_DATE)
- ฟังก์ชันตัวเลข (เช่น ABS, SIN, COS)
- ฟังก์ชันอักขระ (เช่น: CONCAT, INITCAP)
- )
- ฟังก์ชันการรวบรวม (เช่น: CARDINALITY, SET)
- ฟังก์ชันรวม (แสดงแถวเดียวโดยขึ้นอยู่กับกลุ่มของแถวเช่น AVG, SUM, MAX)
- ฟังก์ชันการวิเคราะห์
- ฟังก์ชันอ้างอิงออบเจ็กต์
- ฟังก์ชั่นของโมเดล
- ฟังก์ชั่นที่ผู้ใช้กำหนด
ความแตกต่างระหว่างฟังก์ชั่นกับขั้นตอนที่เก็บไว้คืออะไร? •ฟังก์ชันทั้งหมดต้องคืนค่าโดยใช้คำสั่ง RETURN กระบวนงานที่เก็บไว้ไม่คืนค่าโดยใช้คำสั่ง RETURN คำสั่ง RETURN ภายในกระบวนการจะคืนค่าการควบคุมไปยังโปรแกรมโทร พารามิเตอร์ OUT สามารถใช้เพื่อส่งคืนค่าจากขั้นตอนที่เก็บไว้ •ฟังก์ชั่นสามารถเรียกได้ว่าอยู่ในข้อความค้นหา แต่ไม่สามารถใช้ขั้นตอนที่จัดเก็บไว้ในแบบสอบถามได้ •ชนิดข้อมูล RETURN ต้องถูกรวมไว้เพื่อสร้างฟังก์ชัน แต่ในกระบวนงานที่เก็บไว้ DDL จะไม่เป็นเช่นนั้น |