– Một trigger được định nghĩa trên một bảng, nhưng các xử lý trong trigger có thể sử dụng nhiều bảng khác.5. Trigger – giới thiệu (tt).[r]
(1)Trường Đại học Khoa học Tự nhiên Khoa Công nghệ Thông tin
Bộ môn Hệ thống Thông tin
Chương 5: Bảo mật an toàn liệu Trigger
(2)2
Nội dung
• Trigger
• Khung nhìn
• Quản trị quyền người dùng
(3)3
Trigger -Giới thiệu
• Là loại stored procedure đặc biệt
– Tự động thực có thao tác insert, delete update liệu
– Thường dùng để kiểm tra ràng buộc toàn vẹn CSDL qui tắc nghiệp vụ
(4)4
Trigger – giới thiệu (tt)
• Xử lý trigger thường cần sử dụng đến hai bảng tạm:
– Inserted: chứa dòng vừa thao tác
insert/ update thêm vào bảng
– Deleted: chứa dịng vừa bị xóa khỏi bảng
bởi thao tác update/delete
(update = delete dòng chứa giá trị cũ+ insert dòng chứa giá trị mới)
– Được HQT tạo/xóa tự động lính canh tương ứng
(5)5
Trigger – giới thiệu
• Inserted Deleted bảng nhớ
chính
– Cục cho trigger
– Có cấu trúc giống bảng (table) mà trigger định nghĩa
(6)6
Trigger – giới thiệu(tt)
• Nếu thao tác insert/ delete/ update thực
trên nhiều dòng, trigger gọi lần
(7)7
Khai báo trigger
• Cú pháp:
Create trigger tên_trigger
On {tên_bảng|tên_view}
{For| After| Instead of } { [delete] [,] [insert] [,] [update] }
As
{ các lệnh T-sql }
go
(8)8
Khai báo trigger (tt)
• For | After:
– Trigger gọi thực sau khi thao tác delete/ insert/ update tương ứng thực thành cơng
Các dịng thêm chứa đồng thời bảng liệu bảng inserted
Các dịng bị xố nằm bảng deleted (đã bị xố khỏi bảng liệu)
– Có thể xử lý quay lui thao tác thực
(9)9
Khai báo trigger (tt)
• Instead of:
– Trigger gọi thực thay cho thao tác delete/ insert/ update tương ứng
Các dòng thêm chỉ chứa bảng inserted
Các dịng bị định xố nằm đồng thời bảng deleted bảng liệu (dữ liệu khơng bị xố)
– Trigger Instead of thường dùng để xử lý cập
(10)10
Khai báo trigger (tt)
• Lưu ý:
– Lệnh tạo trigger phải lệnh
query batch
– Trên bảng định nghĩa nhiều trigger
for/after cho thao tác…