Thủ tục lưu trữ vs chức năng
Các thủ tục và chức năng được lưu trữ là hai loại khối lập trình. Cả hai phải có tên gọi. Các 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 và gói thủ tục hoặ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 tác vụ đằng sau các đối tượng đó. Đây là cú pháp (trong ORACLE) để tạo một thủ tục được lưu trữ,
tạo hoặc thay thế thủ tục tên (tham số)
như
bắt đầu
các câu lệnh;
ngoại lệ
ngoại lệ
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 (tham số)
return return_datatype
như
bắt đầu
các câu lệnh;
return return_value / biến;
ngoại lệ;
ngoại lệ_handling;
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 khối lập trình. Họ chấp nhận các tham số là đầu vào của người dùng và xử lý theo logic đằng sau thủ tục và đưa ra kết quả (hoặc thực hiện một hành động cụ thể). Các tham số này có thể là loại IN, OUT và INOUT. Khai báo biến, gán biến, câu lệnh điều khiển, vòng lặp, truy vấn SQL và các lệnh gọi hàm / thủ tục / gói khác có thể nằm trong phần thân của thủ tục.
Chức năng
Các hàm cũng được đặt tên là các khối lập trình, phải trả về một giá trị bằng cách sử dụng câu lệnh RETURN và trước khi nó trả về một giá trị, phần thân của nó cũng thực hiện một số hành động (theo logic đã cho). Các hàm cũng chấp nhận các tham số để chạy. Các chức năng có thể được gọi bên trong các truy vấn. Khi một hàm được gọi bên trong một truy vấn SELECT, nó sẽ áp dụng cho từng hàng của tập kết quả của truy vấn SELECT. Có một số loại chức năng ORACLE. họ đang,
Có các loại phụ của một hàm hàng.
Sự khác biệt giữa chức năng và thủ tục lưu trữ là gì? • Tất cả các chức năng phải trả về một giá trị bằng cách sử dụng câu lệnh RETURN. Các thủ tục được lưu trữ không trả về giá trị bằng cách sử dụng câu lệnh RETURN. Câu lệnh RETURN bên trong một thủ tục sẽ trả lại quyền điều khiển của nó cho chương trình gọi. Các tham số OUT có thể được sử dụng để trả về các giá trị từ các thủ tục được lưu trữ. • Các hàm có thể được gọi bên trong các truy vấn, nhưng các thủ tục được lưu trữ không thể được sử dụng bên trong các truy vấn. • Phải bao gồm loại dữ liệu RETURN để tạo hàm, nhưng trong thủ tục lưu trữ DDL, nó không phải là. |