ความแตกต่างระหว่างมุมมองและขั้นตอนที่จัดเก็บ

Anonim

การดูและจัดเก็บ

สร้างหรือแทนที่ view viewname

ตาม

select_statement;

กระบวนงานที่เก็บไว้เป็นชุดคำสั่ง SQL ที่คอมไพล์แล้วซึ่งเก็บอยู่ในเซิร์ฟเวอร์ฐานข้อมูล แต่ละกระบวนงานที่เก็บไว้มีชื่อเรียกซึ่งจะใช้เรียกพวกเขาภายในแพคเกจอื่น ๆ ขั้นตอนและฟังก์ชั่น นี่คือไวยากรณ์ (ใน ORACLE) เพื่อสร้างกระบวนงานที่เก็บไว้

สร้างหรือแทนที่ขั้นตอน procedename (parameters)

คือ

เริ่มต้น

งบ;

ยกเว้น

exception_handling

end;

ดู

มุมมองทำหน้าที่เสมือนตาราง มันซ่อนคำแถลงเลือกภายในร่างกายของมัน คำสั่ง select นี้อาจเป็นคำสั่งที่ซับซ้อนมากซึ่งจะนำข้อมูลจากตารางและมุมมองต่างๆ ดังนั้นในคำอื่น ๆ มุมมองเป็นคำสั่ง select ที่มีชื่อซึ่งเก็บไว้ในฐานข้อมูล มุมมองสามารถใช้เพื่อซ่อนตรรกะที่อยู่เบื้องหลังความสัมพันธ์ของตารางจากผู้ใช้ปลายทาง เนื่องจากข้อมูลพร็อพเพอร์ตี้เป็นผลลัพธ์จากข้อความค้นหาที่เก็บไว้จึงไม่ได้เก็บข้อมูลใด ๆ ไว้ รวบรวมข้อมูลจากตารางฐานและแสดง Views มีบทบาทสำคัญในด้านความปลอดภัยของข้อมูลด้วย เมื่อเจ้าของตารางต้องการแสดงเฉพาะชุดข้อมูลให้กับผู้ใช้การสร้างมุมมองเป็นวิธีที่ดี มุมมองสามารถแบ่งออกเป็นสองประเภท

(มุมมองที่ไม่สามารถใช้สำหรับ INSERT, UPDATE และ DELETE)
  • มุมมองที่สามารถอัปเดตได้ไม่สามารถทำได้
  • DISTINCT

ฟังก์ชันการรวมกลุ่ม (AVG, COUNT, MAX, MIN, SUM ฯลฯ)

ข้อจำแนกตามหมวดหมู่

คำสั่ง ORDER BY

เชื่อมต่อตามข้อ

เริ่มต้นด้วย

Expression Collection ในรายการที่เลือก

แบบสอบถามย่อยใน A Selected List

เข้าสู่ Query

กระบวนงานที่จัดเก็บ

บล็อกการตั้งชื่อ ต้องมีชื่อเรียก กระบวนงานที่เก็บไว้ยอมรับพารามิเตอร์เป็นอินพุตของผู้ใช้และกระบวนการตามลอจิกที่อยู่เบื้องหลังขั้นตอนและให้ผลลัพธ์ (หรือดำเนินการเฉพาะ) การประกาศตัวแปรการกำหนดตัวแปรคำสั่งควบคุมลูปการค้นหา SQL และฟังก์ชันอื่น ๆ / ขั้นตอน / แพคเกจการโทรสามารถอยู่ภายในตัวของกระบวนการ

ความแตกต่างระหว่าง

มุมมองและขั้นตอนที่จัดเก็บ

คืออะไร?

ให้เราเห็นความแตกต่างระหว่างสองคนนี้ •มุมมองทำหน้าที่เสมือนตาราง สามารถใช้งานได้โดยตรงจากการสอบถามข้อมูล SQL (เลือก) แต่ไม่สามารถใช้ขั้นตอนในการปิดการสืบค้นได้ มุมมองมีเพียงคำสั่ง select เท่านั้นที่เป็นเนื้อหาของตัวเอง แต่โพรเซสสามารถมีการประกาศตัวแปร, การกำหนดตัวแปร, คำสั่งควบคุม, ลูป, แบบสอบถาม SQL และฟังก์ชั่นอื่น ๆ / procedure / package calls เป็นตัวของมัน

•กระบวนงานยอมรับพารามิเตอร์ที่จะรัน แต่มุมมองไม่ต้องการให้พารามิเตอร์ทำงาน

•สามารถสร้างประเภทบันทึกได้จากมุมมองโดยใช้% ROWTYPE แต่ใช้ขั้นตอนไม่สามารถสร้างชนิดของบันทึกได้

•สามารถใช้คำแนะนำ SQL ในมุมมองเลือกคำสั่งเพื่อเพิ่มประสิทธิภาพการวางแผนการดำเนินงาน แต่ไม่สามารถใช้คำแนะนำ SQL ในขั้นตอนการจัดเก็บ

•สามารถเลือก DELETE, INSERT, UPDATE, SELECT, FLASHBACK และ DEBUG ได้ในมุมมอง แต่จะสามารถดำเนินการ EXECUTE และ DEBUG ได้ตามขั้นตอนเท่านั้น