Sự khác nhau giữa Chế độ xem và Thủ tục Lưu trữ

Anonim

Xem so với Thủ tục lưu trữ

tạo hoặc thay thế view viewname

như

select_statement;

Một thủ tục được lưu trữ là một bộ lệnh SQL được biên dịch trước, được lưu trữ trong máy chủ cơ sở dữ liệu. Mỗi thủ tục được lưu trữ có một tên gọi, được sử dụng để gọi chúng bên trong các gói, các thủ tục và các chức năng khác. Đây là cú pháp (trong ORACLE) để tạo một thủ tục lưu trữ, tạo hoặc thay thế các thủ tục (tên) của các thủ tục (999) bắt đầu từ

tuyên bố;

ngoại lệ

exception_handling

kết thúc;

Xem

Chế độ xem hoạt động như một bảng ảo. Nó che giấu một tuyên bố chọn bên trong cơ thể của nó. Câu lệnh select này có thể là một câu lệnh rất phức tạp, nó lấy dữ liệu từ nhiều bảng và khung nhìn. Do đó, nói cách khác, một khung nhìn là một câu lệnh select được đặt tên, được lưu trong cơ sở dữ liệu. Một khung nhìn có thể được sử dụng để ẩn logic phía sau các quan hệ bảng từ người dùng cuối. Vì một chế độ xem là kết quả của truy vấn được lưu trữ nên nó không giữ lại bất kỳ dữ liệu nào. Nó tập hợp dữ liệu từ các bảng cơ sở và hiển thị. Lượt xem cũng đóng vai trò quan trọng trong bảo mật dữ liệu. Khi chủ sở hữu bảng chỉ cần hiển thị một bộ dữ liệu cho người dùng cuối, việc tạo chế độ xem là một giải pháp tốt. Số lượt xem có thể được chia thành hai loại

- Các khung nhìn có thể cập nhật được (xem những mục này có thể được sử dụng cho INSERT, UPDATE và DELETE)

Các khung nhìn không thể cập nhật được (Updating view) không thể được sử dụng cho INSERT, UPDATE và DELETE

bao gồm các hoạt động dưới đây,
  • Các toán tử điều khiển (INTERSECT, MINUS, UNION, UNION ALL)
  • DISTINCT

Chức năng tổng hợp nhóm (AVG, COUNT, MAX, MIN, SUM, v.v …)

GROUP BY khoản ORDER BY khoản

Kết nối theo khoản

START WITH khoản

Biểu thức thu thập trong một danh sách lựa chọn

Truy vấn phụ trong A Chọn danh sách

Truy vấn truy vấn

Thủ tục lưu trữ

được đặt tên là khối lập trình. Họ phải có tên để gọi. Các thủ tục lưu trữ chấp nhận các tham số như là đầu vào của người sử dụng và quy trình theo logic đằng sau thủ tục và cho kết quả (hoặc thực hiện một hành động cụ thể). Các khai báo biến, các bài tập biến đổi, các câu lệnh điều khiển, các vòng lặp, các truy vấn SQL và các hàm / thủ tục / cuộc gọi gói có thể nằm bên trong các thủ tục.

Sự khác nhau giữa

Xem và Thủ tục Lưu trữ

là gì?

Chúng ta hãy nhìn thấy sự khác biệt giữa hai cái này.

• Chế độ xem hoạt động như các bảng ảo. Chúng có thể được sử dụng trực tiếp từ đóng các truy vấn SQL (chọn), nhưng các thủ tục không thể được sử dụng từ gần các truy vấn. • Các khung nhìn chỉ có một câu lệnh được chọn làm cơ thể của chúng, nhưng các thủ tục có thể có các khai báo biến, các bài tập biến, các câu lệnh điều khiển, các vòng lặp, các truy vấn SQL và các hàm / thủ tục / cuộc gọi gói như cơ thể của nó. • Thủ tục chấp nhận các tham số để thực thi, nhưng các khung nhìn không muốn các tham số thực hiện.

• Các loại bản ghi có thể được tạo ra từ chế độ xem sử dụng% ROWTYPE, nhưng sử dụng thủ tục, các loại bản ghi không thể được tạo ra.

• Các gợi ý SQL có thể được sử dụng trong câu lệnh select view, để tối ưu hóa kế hoạch thực hiện, nhưng các gợi ý SQL không thể được sử dụng trong các thủ tục được lưu giữ.

• Có thể xem DELETE, INSERT, UPDATE, SELECT, FLASHBACK và DEBUG đối với khung nhìn, nhưng chỉ thực hiện EXECUTE và DEBUG về thủ tục.