
Hệ Quản Trị CSDL cơ bản
lượt xem 5
download

... Trigger là một loại stored-proc đặc biệt, tự động thực thi khi một sự kiện diễn ra trong cơ sở dữ liệu ở server. Trigger được định nghĩa trên 1 bảng hay 1 view cụ thể. Trigger thường
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Hệ Quản Trị CSDL cơ bản
- Trigger là một loại stored-proc đặc biệt, tự động thực thi khi một sự kiện diễn ra trong cơ sở dữ liệu ở server. Trigger được định nghĩa trên 1 bảng hay 1 view cụ thể. Trigger thường được dùng khi cần đảm bảo tính toàn vẹn dữ liệu phức tạp mà các ràng buộc khác như Check, Assertion khó đạt được, với sự vượt trội về tính đúng đắn cao hơn Check và sự linh hoạt nhiều hơn Assertion.
- DML Trigger : thực thi khi dữ liệu bị thay đổi bởi 1 sự kiện DML thông qua các câu lệnh T-SQL INSERT, UPDATE, DELETE trên 1 bảng hay view. Thường được sử dụng trong thực tiễn để hiện thực các quy định… › Ví dụ: Trigger xuất ra 1 thông báo mỗi khi có một hóa đơn được lập…
- DDL Trigger : thực thi khi có các sự kiện DDL xảy ra trong cơ sở dữ liệu hay trên server, được gây ra bởi các câu lệnh T-SQL như CREATE, ALTER, DROP hay 1 số stored-proc hệ thống. Thường được sử dụng trong thực tiễn để kiểm tra, quản lý các thao tác được phép lên các đối tượng trên hệ thống. › Ví dụ: Trigger ngăn không cho phép DROP table nào trong hệ thống…
- Logon Trigger : thực thi khi 1 session của user đã được thiết lập, xác thực, và gọi sự kiện LOGON. › Ví dụ: Trigger giới hạn số session của cùng một LoginID, cùng lúc đăng nhập vào hệ thống là 2. Nếu vượt số này, các đăng nhập sau sẽ bị từ chối…
- SQL Server thiết lập 2 bảng tạm ảo trong lúc 1 DML Trigger đang thực thi, đó là Inserted và Deleted. Các bảng này chứa các dòng mới thêm vào (Inserted) hoặc đã bị xóa (Deleted) của bảng của trigger, lúc trigger khởi chạy. Các bảng này có cấu trúc như bảng của trigger.
- Câu lệnh DML Bảng tạm ảo Inserted Bảng tạm ảo Deleted Insert Các dòng mới thêm vào Không tồn tại Update Dữ liệu cũ trước cập nhật Dữ liệu mới sau cập nhật Delete Không tồn tại Các dòng đã bị xóa
- Thực thi khi dữ liệu bị thay đổi bởi 1 sự kiện DML thông qua các câu lệnh T-SQL INSERT, UPDATE, DELETE trên 1 bảng hay view. Có thể được gọi sau khi sự kiện hoàn tất hoặc thay thế sự kiện đó bằng hành động khác. Các trigger DML khi chạy có sử dụng các bảng tạm ảo là Inserted và Deleted (đã đề cập).
- Cú pháp:
- ác tham số: tên_schema.]tên_trigger : tham số bắt buộc, là tên của schema mà bảng của DML trigger nằm trong schema đó. › Ví dụ: dbo.trXemThongTinBangDeleted… ên_bảng hoặc tên_view : tham số bắt buộc, là tên bảng hoặc view mà DML trigger được gọi thực thi. View chỉ cho phép đối với các trigger Instead Of. ITH ENCRYPTION : tham số tùy ý, là lựa chọn mã hóa dữ liệu
- Ví dụ WITH ENCRYPTION : Trigger DML lúc chưa mã hóa, vẫn xem được nội dung bằng sp_helptext :
- Ví dụ WITH ENCRYPTION : Trigger DML lúc đã mã hóa :
- ác tham số (tt): OR hoặc AFTER : tham số bắt buộc, không thể tạo trên view. Trigger khởi chạy khi các thao tác của sự kiện DML đã thực hiện thành công (dù kết quả không có bản ghi(dòng) nào). Lúc này, các cập nhật tham chiếu cascade và kiểm tra ràng buộc đã hoàn tất trước khi trigger khởi chạy. Cho phép nhiều trigger cùng loại (Insert, Update, Delete) trên cùng 1 bảng. NSTEAD OF : tham số bắt buộc, có thể được tạo trên 1 view. Trigger khởi chạy trước các hành động của sự kiện DML, và thay thế các hành động không cho chúng thực
- Ví dụ AFTER: › Tạo 2 trigger cùng loại Delete trên cùng bảng KhachHang: 1 trigger xem thông tin đã bị xóa, và 1 trigger hiển thị thông báo đã xóa.
- Ví dụ INSTEAD OF: › Không cho phép tạo nhiều hơn 1 trigger Instead Of trên cùng 1 bảng KhachHang
- ác tham số (tt): NSERT, UPDATE, DELETE : tham số bắt buộc, có thể thiết lập đồng thời nhiều loại thao tác DML này. ITH APPEND : tham số tùy ý, không thể sử dụng chung với Instead Of hay After, hoặc có tham số EXTERNAL NAME. Tham số này chỉ được sử dụng khi thiết lập tương thích của CSDL là thấp hơn 65 (nghĩa là SQL Server các phiên bản trước 2000(70) ). Tham số cho biết trigger này được thêm vào khi đã có trigger cùng loại tồn tại trên bảng của trigger.
- Ví dụ NOT FOR REPLICATION : › Để lưu vết khi quản lý khi INSERT vào bảng HOADON, ta viết 1 INSERT Trigger có FOR NOT REPLICATION mỗi khi INSERT một chi tiết hóa đơn thì ta thêm dòng đó vào một bảng lưu vết, giả sử là bảng LuuVet_HoaDon. Khi đó, mọi user khi INSERT ở bảng này thì Trigger sẽ thực thi INSERT thêm vào bảng LuuVet_HoaDon. Tuy nhiên, khi tạo bản sao gửi cho các đăng kí khác của CSDL, nếu ở các bản sao này xảy ra INSERT thì Trigger sẽ không khởi chạy, không thêm vào bảng LuuVet_HoaDon.
- ác tham số (tt): ác_câu_lệnh_SQL : tham số bắt buộc. Đây là các câu lệnh SQL mang điều kiện và các xử lý của trigger. Những câu lệnh này quyết định xử lý của trigger đối với các sự kiện DML thao tác lên bảng/view của trigger. Hỗ trợ hầu hết các câu lệnh như stored-procedure… › Ví dụ: Tạo biến @TienNo, gán giá trị cho biến là tiền nợ của khách hàng mới Insert vào bảng KhachHang rồi in ra giá trị của biến @TienNo sau khi đã chuyển kiểu của biến về kiểu chuỗi kí tự .

CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Hệ quản trị CSDL FoxPro: Chương 1- CĐSP Quảng Trị
18 p |
181 |
17
-
Bài giảng Hệ quản trị CSDL FoxPro: Chương 2 - CĐSP Quảng Trị
10 p |
133 |
10
-
Bài giảng Hệ quản trị CSDL FoxPro: Chương 7 - CĐSP Quảng Trị
19 p |
145 |
9
-
Bài giảng Hệ quản trị CSDL FoxPro: Chương 3 - CĐSP Quảng Trị
8 p |
120 |
7
-
Bài giảng Hệ quản trị CSDL FoxPro: Chương 4 - CĐSP Quảng Trị
13 p |
131 |
7
-
Bài giảng Hệ quản trị CSDL: Chương 3 (Phần 3) - TS. Lại Hiền Phương
49 p |
16 |
6
-
Bài giảng Hệ quản trị CSDL: Chương 1 - TS. Lại Hiền Phương
50 p |
24 |
6
-
Bài giảng Hệ quản trị CSDL: Chương 3 (Phần 2) - TS. Lại Hiền Phương
46 p |
15 |
5
-
Bài giảng Hệ quản trị CSDL: Chương 4 (Phần 1) - TS. Lại Hiền Phương
32 p |
13 |
5
-
Bài giảng Hệ quản trị CSDL: Chương 4 (Phần 2) - TS. Lại Hiền Phương
36 p |
27 |
5
-
Bài giảng Hệ quản trị CSDL: Chương 2 (Phần 4) - TS. Lại Hiền Phương
45 p |
31 |
5
-
Bài giảng Hệ quản trị CSDL: Chương 2 (Phần 3) - TS. Lại Hiền Phương
40 p |
11 |
5
-
Bài giảng Hệ quản trị CSDL: Chương 4 (Phần 3) - TS. Lại Hiền Phương
61 p |
12 |
5
-
Bài giảng Hệ quản trị CSDL: Chương 2 (Phần 1) - TS. Lại Hiền Phương
123 p |
13 |
5
-
Bài giảng Hệ quản trị CSDL: Chương 0 - TS. Lại Hiền Phương
8 p |
12 |
5
-
Bài giảng Các hệ quản trị CSDL: Chương 1 - ĐH Sư phạm TP. HCM
46 p |
95 |
5
-
Bài giảng Hệ quản trị CSDL: Chương 3 (Phần 1) - TS. Lại Hiền Phương
29 p |
14 |
4
-
Bài giảng Hệ quản trị CSDL: Chương 2 (Phần 2) - TS. Lại Hiền Phương
49 p |
10 |
4


Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn
