Đề XuấT, 2020

Editor Choice

Sự khác biệt giữa Kích hoạt và Thủ tục

Kích hoạt và thủ tục là thành phần của SQL nâng cao. Cả Trình kích hoạt và Thủ tục đều thực hiện một tác vụ được chỉ định khi thực hiện. Sự khác biệt cơ bản giữa Kích hoạt và Thủ tục là Kích hoạt thực thi tự động khi xảy ra sự kiện trong khi đó, Quy trình được thực thi khi được gọi rõ ràng.

Hãy để chúng tôi thảo luận về một số khác biệt hơn giữa Kích hoạt và Thủ tục với sự trợ giúp của biểu đồ so sánh được hiển thị bên dưới.

Biểu đồ so sánh

Cơ sở để so sánhGây nênThủ tục
Căn bảnChúng được tự động thực hiện khi xảy ra sự kiện được chỉ định.Chúng có thể được thực hiện bất cứ khi nào cần thiết.
Gọi điện thoạiKích hoạt không thể được gọi trong một thủ tục.Nhưng, bạn có thể gọi một thủ tục bên trong một kích hoạt.
Tham sốChúng tôi không thể truyền tham số cho kích hoạt.Chúng ta có thể truyền tham số cho các thủ tục.
Trở vềKích hoạt không bao giờ trả lại giá trị khi thực hiện.Thủ tục có thể trả về giá trị / s khi thực hiện.

Định nghĩa kích hoạt

Kích hoạt giống như một thủ tục được thực thi tự động khi xảy ra một sự kiện được chỉ định. Giống như thủ tục, kích hoạt không cần phải được gọi một cách rõ ràng. Kích hoạt được tạo ra, để thực hiện một số nhiệm vụ để đáp ứng với sự xuất hiện của một số sự kiện được chỉ định.

Kích hoạt có thể được gọi để đáp ứng với các câu lệnh DDL (DELETE, INSERT hoặc UPDATE) hoặc các câu lệnh DML (DELETE, INSERT hoặc UPDATE) hoặc, đối với một số hoạt động cơ sở dữ liệu (SERVERERROR, LOGON, LOGOFF, STARTUP hoặc SHUTDOWN).

Kích hoạt bao gồm ba thành phần như được thảo luận dưới đây:

  • Sự kiện : Sự kiện là sự cố xảy ra một số sự cố sẽ gây ra việc thực thi kích hoạt. Kích hoạt có thể được ra lệnh để thực thi TRƯỚC KHI xảy ra sự kiện hoặc nó có thể được ra lệnh để được thực thi SAU khi thực hiện một sự kiện.
  • Điều kiện : Đây là một phần tùy chọn của kích hoạt. Nếu không được đề cập kích hoạt sẽ thực thi như sự kiện được chỉ định xảy ra. Nếu điều kiện được chỉ định, thì nó sẽ kiểm tra các quy tắc để xác định xem có nên thực hiện kích hoạt hay không.
  • Hành động : Hành động là một câu lệnh SQL được thiết lập sẽ được thực thi khi thực thi Trình kích hoạt.

Hình thức chung của việc tạo ra một sự kiện được thảo luận dưới đây:

 TẠO TRIGGER TRƯỚC / SAU HÀNH ĐỘNG ĐIỀU KIỆN; 

Ở đây, Điều kiện là tùy chọn.

Định nghĩa thủ tục

Thủ tục có thể được thực hiện như một đơn vị chương trình, được tạo để thực hiện một số tác vụ và nó được lưu trữ trên cơ sở dữ liệu. Chúng được gọi bởi câu lệnh SQL bất cứ khi nào cần. Các thủ tục giống như các hàm do người dùng định nghĩa được xác định bởi các nhà phát triển. Các thủ tục có thể được gọi bằng CALL hoặc EXECUTE .

Các thủ tục rất hữu ích trong các tình huống sau:

  • Nếu thủ tục được yêu cầu bởi một số ứng dụng khác, thì nó có thể được lưu trữ trên máy chủ để chúng có thể được gọi bởi bất kỳ ứng dụng nào. Nó sẽ làm giảm nỗ lực sao chép thủ tục từ cơ sở dữ liệu này sang cơ sở dữ liệu khác và cũng cải thiện tính mô đun của phần mềm.
  • Vì thủ tục đang thực thi trên máy chủ, nó sẽ giảm truyền dữ liệu và cũng giảm chi phí liên lạc.
  • Các thủ tục có thể được sử dụng để kiểm tra các ràng buộc phức tạp nằm ngoài khả năng kích hoạt.

Hãy để chúng tôi thảo luận về hình thức chung của việc tạo ra một thủ tục:

 TẠO QUY TRÌNH () TRẢ LẠI; 

Ở đây, các tham số và khai báo cục bộ là tùy chọn. Chúng chỉ được đề cập khi chúng được yêu cầu. Các tuyên bố dưới đây mô tả việc gọi các thủ tục.

 GỌI ĐIỆN () ; 

Sự khác biệt chính giữa Kích hoạt và Thủ tục

  1. Sự khác biệt chính giữa kích hoạt và thủ tục là kích hoạt là một câu lệnh được gọi tự động khi một sự kiện đã xảy ra. Mặt khác, thủ tục được gọi bất cứ khi nào cần thiết.
  2. Người ta có thể định nghĩa thủ tục bên trong một kích hoạt. Nhưng, một kích hoạt không bao giờ được xác định trong một thủ tục vì kích hoạt phải được gọi tự động khi xảy ra bất kỳ sự kiện nào.
  3. Chúng tôi có thể truyền tham số cho các thủ tục, nhưng chúng tôi không thể truyền tham số để kích hoạt vì nó không được chúng tôi gọi.
  4. Một thủ tục có thể trả về các giá trị tham số hoặc mã nhưng, không thể kích hoạt.

Phần kết luận:

Kích hoạt là hữu ích, nhưng chúng được tránh nếu có bất kỳ thay thế nào cho chúng, vì nó làm tăng độ phức tạp dữ liệu. Đôi khi các kích hoạt cũng được thay thế bằng một thủ tục thích hợp.

Top