Sự khác biệt giữa thủ tục lưu trữ và hàm
Thủ tục lưu trữ vs Chức năng
Các thủ tục lưu trữ và chức năng là hai loại khối lập trình. Cả hai đều phải có tên gọi. Những tên gọi này được sử dụng để gọi chúng trong một khối lập trình khác như các hàm thủ tục và gói hoặc các truy vấn SQL. Cả hai loại đối tượng này đều chấp nhận tham số và thực hiện nhiệm vụ đằng sau các đối tượng đó. Đâ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 của chương trình (các thông số)
theo câu lệnh
bắt đầu
;
ngoại lệ
exception_handling
kết thúc;
Và đây là cú pháp để tạo một hàm (trong ORACLE),
-> tạo hoặc thay thế hàm function_name (parameters)trả về return_datatype
như câu lệnh
bắt đầu
;
return return_value / variable;
ngoại lệ;
kết thúc;
Thủ tục lưu trữ
Như đã đề cập ở trên, các thủ tục lưu trữ được đặt tên là các khối lập trình. Họ 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 thông số này có thể là IN, OUT và INOUT. 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.
Chức năng
Chức năng cũng được đặt tên là các khối lập trình, nó phải trả về một giá trị sử dụng câu lệnh RETURN, và trước khi nó trả về một giá trị, cơ thể của nó thực hiện một số hành động quá (theo logic nhất định). Các hàm cũng chấp nhận tham số để chạy. Các hàm có thể được gọi bên trong các truy vấn. Khi một hàm được gọi bên trong truy vấn SELECT, nó áp dụng cho mỗi hàng của tập kết quả của câu truy vấn SELECT. Có một số loại chức năng ORACLE. Đó là,
Chức năng hàng đơn (trả về một kết quả duy nhất cho mỗi hàng của truy vấn)
- Có các loại con của một chức năng hàng đơn.
Chức năng số (ví dụ: ABS, SIN, COS)
- Chức năng ký tự (ví dụ: CONCAT, INITCAP)
- Chức năng thời gian (ví dụ: LAST_DAY, NEXT_DAY)
- Chức năng chuyển đổi (ví dụ: TO_CHAR, TO_DATE)
- Chức năng thu thập dữ liệu (ví dụ: CARDINALITY, SET)
- Các hàm tổng hợp (Trả về một hàng, dựa trên một nhóm hàng ví dụ: AVG, SUM, MAX)
- Chức năng phân tích
- Các chức năng của mô hình
- Các chức năng do người dùng định nghĩa
- Sự khác biệt giữa chức năng và Thủ tục lưu lại là gì?