Sự khác biệt giữa Thủ tục được Lưu trữ và Chức năng

Mục lục:

Sự khác biệt giữa Thủ tục được Lưu trữ và Chức năng
Sự khác biệt giữa Thủ tục được Lưu trữ và Chức năng

Video: Sự khác biệt giữa Thủ tục được Lưu trữ và Chức năng

Video: Sự khác biệt giữa Thủ tục được Lưu trữ và Chức năng
Video: Điều Gì Sẽ Xảy Ra Nếu Lực Hấp Dẫn Biến Mất Trong 1 Giây 2024, Tháng mười một
Anonim

Thủ tục được lưu trữ so với Hàm

Các thủ tục và hàm được lưu trữ là hai loại khối lập trình. Cả hai người trong số họ phải có tên gọi. Những tên gọi đó được sử dụng để gọi chúng bên trong một khối lập trình khác như các hàm và gói thủ tục hoặc các truy vấn SQL. Cả hai kiểu đối tượng này đều chấp nhận các 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 được lưu trữ, tạo hoặc thay thế tên thủ tục (tham số)

như

bắt đầu

câu lệnh;

ngoại lệ

ngoại_lượng

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âu lệnh;

return return_value / biến;

ngoại lệ;

ngoại_lục;

kết thúc;

Thủ tục lưu trữ

Như đã đề cập ở trên, các thủ tục đượ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ố là đầu vào của người dùng và xử lý theo logic đằng sau quy trình 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à các kiểu IN, OUT và INOUT. Khai báo biến, phép gán biến, câu lệnh điều khiển, vòng lặp, truy vấn SQL và các hàm / thủ tục / lệnh gọi gói khác có thể nằm trong nội dung 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, khối này 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 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 một truy vấn SELECT, nó sẽ áp dụng cho mỗi hàng của tập kết quả của truy vấn SELECT. Có một số loại hàm ORACLE. Họ là,

Hàm một hàng (trả về một kết quả duy nhất cho mỗi và mọi hàng của truy vấn)

Có các danh mục phụ của một hàm hàng đơn.

  • Hàm số (Ví dụ: ABS, SIN, COS)
  • Hàm ký tự (Ví dụ: CONCAT, INITCAP)
  • Hàm ngày giờ (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 (Ví dụ: CARDINATIONAL, SET)
  • 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)
  • Hàm phân tích
  • Các hàm tham chiếu đối tượng
  • Chức năng 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 được Lưu trữ là gì?

• Tất cả các hàm 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 đã 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 đang 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 đã lưu trữ.

• Các hàm có thể được gọi bên trong các truy vấn, nhưng không thể sử dụng các thủ tục được lưu trữ bên trong các truy vấn.

• Kiểu dữ liệu RETURN phải được bao gồm để tạo một hàm, nhưng trong thủ tục được lưu trữ DDL thì không.

Đề xuất: