Sự khác nhau giữa Triggers và Thủ tục Lưu trữ

Anonim

Triggers và thủ tục lưu trữ

Trong cơ sở dữ liệu, kích hoạt là một thủ tục (phân đoạn mã) tự động khi một số sự kiện cụ thể xảy ra trong một bảng / khung nhìn. Trong số các ứng dụng khác, trình kích hoạt chủ yếu được sử dụng để duy trì tính toàn vẹn trong cơ sở dữ liệu. Một thủ tục lưu trữ là một phương pháp có thể được sử dụng bởi các ứng dụng truy cập cơ sở dữ liệu quan hệ. Thông thường, thủ tục được lưu trữ được sử dụng như là một phương pháp để kiểm chứng dữ liệu và kiểm soát truy cập vào một cơ sở dữ liệu.

Triggers là gì?

Trình kích hoạt là một thủ tục (đoạn mã) được thực hiện tự động khi một số sự kiện cụ thể xảy ra trong một bảng / khung nhìn của cơ sở dữ liệu. Trong số các ứng dụng khác, trình kích hoạt chủ yếu được sử dụng để duy trì tính toàn vẹn trong cơ sở dữ liệu. Các trình kích hoạt cũng được sử dụng để thực thi các quy tắc kinh doanh, kiểm tra thay đổi trong cơ sở dữ liệu và sao chép dữ liệu. Các trình kích hoạt phổ biến nhất là Trình kích hoạt Ngôn ngữ DMLL (Data Manipulation Language) được kích hoạt khi dữ liệu được thao tác. Một số hệ thống cơ sở dữ liệu hỗ trợ các dữ liệu không gây ra dữ liệu, được kích hoạt khi các sự kiện Ngôn ngữ Định nghĩa Dữ liệu (DDL) xảy ra. Một số ví dụ là các trình kích hoạt được kích hoạt khi các bảng được tạo ra, trong quá trình hoạt động cam kết hoặc rollback xảy ra, vv Những kích hoạt này có thể được sử dụng đặc biệt cho kiểm toán. Hệ thống cơ sở dữ liệu Oracle hỗ trợ các trình kích hoạt mức giản đồ (ví dụ: các trình kích hoạt được kích hoạt khi các lược đồ cơ sở dữ liệu được sửa đổi) như Sau khi Tạo, Trước Thay đổi, Sau Thay đổi, Trước khi Thả, Sau khi Bỏ, vv. Bốn loại kích hoạt chính được hỗ trợ bởi Oracle là Row Level trigger, Trình kích hoạt Cấp Cột, Mỗi Loại Lệnh kích hoạt và Đối với Mỗi Kiểu Khai báo kích hoạt.

Thủ tục lưu giữ là gì?

Một thủ tục lưu trữ là một phương pháp có thể được sử dụng bởi một ứng dụng truy cập cơ sở dữ liệu quan hệ. Thông thường, thủ tục được lưu trữ được sử dụng như là một phương pháp để kiểm chứng dữ liệu và kiểm soát truy cập vào một cơ sở dữ liệu. Nếu một số hoạt động xử lý dữ liệu yêu cầu một số câu lệnh SQL được thực hiện, các thao tác đó được thực hiện như các thủ tục được lưu trữ. Khi gọi một thủ tục lưu trữ, một câu lệnh CALL hoặc EXECUTE phải được sử dụng. Thủ tục lưu trữ có thể trả về kết quả (ví dụ kết quả từ câu lệnh SELECT). Những kết quả này có thể được sử dụng bởi các thủ tục lưu trữ khác hoặc bằng các ứng dụng. Các ngôn ngữ được sử dụng để ghi các thủ tục lưu trữ thường hỗ trợ các cấu trúc kiểm soát như if, while, for, vv Tùy thuộc vào hệ thống cơ sở dữ liệu được sử dụng, một số ngôn ngữ có thể được sử dụng để thực hiện các thủ tục lưu trữ (ví dụ PL / SQL và java trong Oracle, SQL (Transact-SQL) và.NET Framework trong Microsoft SQL Server). Hơn nữa, MySQL sử dụng thủ tục lưu trữ riêng của mình.

Khác biệt giữa Triggers và Thủ tục Lưu trữ là gì?

Trình kích hoạt là một thủ tục (đoạn mã) được thực hiện tự động khi một số sự kiện cụ thể xuất hiện trong một bảng / khung nhìn của cơ sở dữ liệu, trong khi một thủ tục lưu trữ là một phương pháp có thể được sử dụng bởi một ứng dụng truy cập cơ sở dữ liệu quan hệ.Trình kích hoạt được thực hiện tự động khi sự kiện mà trình kích hoạt được cho là đáp ứng xảy ra. Nhưng để thực hiện một thủ tục được lưu trữ, CALL hoặc EXECUTE tuyên bố cụ thể đã được sử dụng. Gỡ lỗi gây nên có thể khó khăn hơn và trickier hơn gỡ lỗi thủ tục lưu trữ. Trình kích hoạt rất hữu ích khi bạn muốn chắc chắn rằng một sự việc xảy ra khi xảy ra sự kiện nhất định.