Triggers vs Cursors
Trong cơ sở dữ liệu, trình kích hoạt là một thủ tục (đoạn mã) được thực thi tự động khi một số sự kiện cụ thể xảy ra trong bảng / khung nhìn. Trong số các ứng dụng khác của nó, 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. Con trỏ là cấu trúc điều khiển được sử dụng trong cơ sở dữ liệu để đi qua các bản ghi cơ sở dữ liệu. Nó rất giống với trình vòng lặp được cung cấp bởi nhiều ngôn ngữ lập trình.
Kích hoạt là gì?
Một kích hoạt là một thủ tục (đoạn mã) được thực thi 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 của nó, 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. Kích hoạt cũng được sử dụng để thực thi các quy tắc kinh doanh, kiểm tra các thay đổi trong cơ sở dữ liệu và sao chép dữ liệu. Các kích hoạt phổ biến nhất là các kích hoạt Ngôn ngữ thao tác dữ liệu (DML) được kích hoạt khi dữ liệu bị thao túng. Một số hệ thống cơ sở dữ liệu hỗ trợ kích hoạt phi dữ liệu, được kích hoạt khi xảy ra sự kiện Ngôn ngữ định nghĩa dữ liệu (DDL). Một số ví dụ là các kích hoạt được kích hoạt khi các bảng được tạo, trong các hoạt động cam kết hoặc khôi phục xảy ra, v.v. Những kích hoạt này có thể được sử dụng đặc biệt để 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 lược đồ (tức là kích hoạt được kích hoạt khi các lược đồ cơ sở dữ liệu được sửa đổi) như After Creation, Before Alter, After Alter, Before Drop, After Drop, v.v. Bốn loại kích hoạt chính được Oracle hỗ trợ là trình kích hoạt Row Row, Trình kích hoạt cấp cột, kích hoạt từng loại hàng và cho mỗi kích hoạt loại câu lệnh.
Con trỏ là gì?
Con trỏ là cấu trúc điều khiển được sử dụng trong cơ sở dữ liệu để đi qua các bản ghi cơ sở dữ liệu. Nó rất giống với trình vòng lặp được cung cấp bởi nhiều ngôn ngữ lập trình. Ngoài việc duyệt qua các bản ghi trong cơ sở dữ liệu, các con trỏ cũng tạo điều kiện truy xuất dữ liệu, thêm và xóa các bản ghi. Bằng cách xác định cách chính xác, con trỏ cũng có thể được sử dụng để di chuyển ngược. Khi một truy vấn SQL trả về một tập hợp các hàng, những hàng đó thực sự được xử lý bằng các con trỏ. Một con trỏ cần phải được khai báo và gán tên, trước khi có thể sử dụng nó. Sau đó, con trỏ cần phải được mở bằng lệnh OPEN. Thao tác này sẽ đặt con trỏ ngay trước hàng đầu tiên của tập kết quả. Sau đó, con trỏ phải thực hiện thao tác FETCH để thực sự có được một hàng dữ liệu vào ứng dụng. Cuối cùng, con trỏ phải được đóng lại bằng thao tác ĐÓNG. Con trỏ đóng có thể được mở lại.
Sự khác biệt giữa Triggers và Cursors là gì?
Trình kích hoạt là một thủ tục (đoạn mã) được thực thi tự động khi một số sự kiện cụ thể xảy ra trong bảng / khung nhìn của cơ sở dữ liệu, trong khi con trỏ là cấu trúc điều khiển được sử dụng trong cơ sở dữ liệu để đi qua các bản ghi cơ sở dữ liệu. Một con trỏ có thể được khai báo và sử dụng trong một kích hoạt. Trong tình huống như vậy, tuyên bố tuyên bố sẽ ở bên trong kích hoạt. Sau đó, phạm vi của con trỏ sẽ được giới hạn trong kích hoạt đó. Trong một trình kích hoạt, nếu một con trỏ được khai báo trên một bảng được chèn hoặc bị xóa, thì một con trỏ như vậy sẽ không thể truy cập được từ một trình kích hoạt lồng nhau. Khi kích hoạt hoàn tất, tất cả các con trỏ được tạo trong kích hoạt sẽ được phân bổ lại.