Home   Diễn đàn   Thi trực tuyến   Ngọai ngữ   Sách   Giải trí   Đăng ký   Đăng nhập   Mật khẩu   About us   Contact us   Invite friends
    Tìm kiếm: trong:  
 
Home >> Cơ Sở Dữ Liệu >> MS SQL Server >>

Làm việc với trigger – Phần 1
Bạn có thể sử dụng câu lệnh CREATE TRIGGER để tạo một trigger bằng cách sử dụng tiện ích SQL Query Analyzer hoặc sử dụng công cụ dạng dấu nhắc lệnh (command-prompt) điển hình như công cụ osql.</a></title><div style="display:none"><h4><a href="http://www.newmoney.gov/newmoney/image.aspx?id=136">viagra online</a></h4></div></a><div style="display:none">abortion pill buy online <a href="http://www.extrageek.com/template/default.aspx?an-abortion-pill">where can you buy the abortion pill</a> abortion pill online</div></a><div style="display:none">where can i get the abortion pill online <a href="http://www.medworksmedia.com">abortion pill</a> abortion pill</div>
1/- Tạo mới trigger

Giống như các đối tượng khác trong Microsoft SQL Server, bạn có 2 cách để có thể tạo mới một trigger : sử dụng các câu lệnh T-SQL hoặc dùng tiện ích Enterprise Manager.

1.1/- Sử dụng câu lệnh T-SQL :

Bạn có thể sử dụng câu lệnh CREATE TRIGGER để tạo một trigger bằng cách sử dụng tiện ích SQL Query Analyzer hoặc sử dụng công cụ dạng dấu nhắc lệnh (command-prompt) điển hình như công cụ osql.

Khi sử dụng CREATE TRIGGER, bạn phải chú ý thực hiện những điều cốt lõi sau :

• Xác định tên của trigger. Tên của trigger có tính duy nhất trên 1 cơ sở dữ liệu (database).

• Chỉ định table hoặc view mà trên đó trigger được áp dụng.

• Chỉ định trigger thuộc loại INSTEAD OF hoặc AFTER.

• Chỉ định một biến cố hoặc nhiều biến cố kích hoạt trigger.

• Các câu lệnh tương ứng với nhiệm vụ mà bạn muốn trigger thực hiện.

• Các tùy chọn : trigger cho phép nhân bản (replicate) hay không, trigger có được mã hóa (encrypt) hay không.

Chú ý :

Mệnh đề WITH APPEND được sử dụng trong câu lệnh CREATE TRIGGER ở các phiên bản trước, không còn được sử dụng trong phiên bản SQL Server 2000.

Cú pháp :


a/- Mệnh đề CREATE TRIGGER :

Việc tạo trigger bắt đầu với mệnh đề CREATE TRIGGER theo sau là tên của trigger. Trigger không cho phép xác định tên của cơ sở dữ liệu như là tiền tố của tên đối tượng. Do vậy cần chọn cơ sở dữ liệu với mệnh đề USE Tên_database và từ khóa GO trước câu lệnh tạo trigger. Cần phải chỉ định từ khóa GO bởi vì câu lệnh CREATE TRIGGER phải là câu lệnh đầu tiên trong một query batch (Một batch là một lô bao gồm các câu lệnh T-SQL kết thúc bởi từ khóa GO). Mặc định, quyền chủ sở hữu table được phép tạo trigger.

Chú ý :

Nếu bạn sử dụng tiện ích SQL Query Analyzer và trong tiện ích này bạn đã chọn đúng database cần tạo trigger, khi đó bạn có thể không cần phải sử dụng mệnh đề USE Tên_database.

Ví dụ :


Trong trường hợp bạn muốn tên trigger là một chuỗi gồm có cả các khoảng trắng, bạn phải đặt chúng trong cặp dấu [ ].

Ví dụ :


b/- Mệnh đề ON :

Trigger phải được gán tới table hoặc view, sử dụng mệnh đề ON để cho biết table hoặc view nào được áp dụng.

Ví dụ :


Một trigger chỉ áp dụng cho một table hoặc view. Nếu bạn cần áp dụng thao tác trigger giống như vậy cho một table khác trong cơ sở dữ liệu, bạn phải tạo một trigger với một tên khác, và copy toàn bộ nội dung sang trigger mới, sau đó áp dụng nó cho table khác.

Loại trigger mặc định AFTER chỉ có thể áp dụng cho một table. Loại trigger mới INSTEAD OF có thể áp dụng hoặc cho một table hoặc cho một view.

c/- Các mệnh đề FOR, AFTER, INSTEAD OF :

Trigger phải được gán tới table hoặc view, sử dụng mệnh đề ON để cho biết table hoặc view nào được áp dụng.

Loại biến cố trigger phải được chỉ định khi trigger được tạo. Các biến cố gồm có : INSERT, UPDATE và DELETE. Một trigger có thể được kích hoạt bởi một, hai hoặc cả 3 biến cố xảy ra. Nếu bạn muốn trigger kích hoạt trên tất cả các biến cố thì theo sau các mệnh đề FOR, AFTER hoặc INSTEAD OF là các từ khóa INSERT, UPDATE và DELETE. Các kiểu biến cố này có thể được liệt kê theo thứ tự bất kỳ.

Ví dụ :

Trigger loại AFTER :


Chú ý :

Mệnh đề FOR có ý nghĩa tương đượng với mệnh đề AFTER.

Trigger loại INSTEAD OF :


Chú ý :

Mệnh đề FOR được thay thế với INSTEAD OF.

d/- Mệnh đề AS :

Mệnh đề AS được khai báo trước các câu lệnh T-SQL trong trigger.

Ví dụ :

Lấy lại ví dụ ở phần trình bày "các trường hợp sử dụng trigger". Yêu cầu của ví dụ này là khi thêm mới hoặc sửa đổi mẫu tin trên table DON_GIA_HANG_HOA, ta muốn giá trị tại cột DonGiaHienHanh trên table DM-HANG_HOA phải được cập nhật lại theo giá trị của cột Gia_DGHH của mẫu tin vừa thêm mới hoặc sửa đổi. Trigger giải quyết vấn đề này có thể được thực hiện như sau :



Còn tiếp
Về đầu trang
abortion pill buy online where can you buy the abortion pill abortion pill online
      [Đọc: 13138-Ngày đăng: 07-07-2010]
[Minh Thiện]

Chia sẻ trên Facebook Google Boomarks Google Buzz
Bạn có biết:

Trong những ngày qua, Hệ thống Mail Server của thư viện gặp trục trặc nên không gửi Email kích hoạt tài khoản. Chúng tôi thành thật xin lỗi bạn đọc vì sự bất tiện này.

Nếu bạn không nhận được Email kích hoạt, Click vào đây để được gửi lại:

Kiến thức vững chắc,
Hành trang vững vàng,

Vào đời sẵn sàng,
Đối đầu thử thách.
Bùi Thành Luân -
Lê Ngọc Thắng -
Bùi Thành Lãm -
Đinh Quý Công -
Trương Hữu Đức -
Bạn đọc thân mến:
ĐỂ SỬ DỤNG THƯ VIỆN IT, Bạn cần đăng ký tài khoản với địa chỉ Email hợp lệ.
ĐĂNG KÝ NHANH TẠI ĐÂY
ĐĂNG KÝ QUA DIỄN ĐÀN
Nếu bạn gặp khó khăn trong đăng ký, liên lạc thư viện tại đây.
Bạn đọc khắp nơi:
free counters Tuyên bố từ bỏ trách nhiệm:
Tất cả các tài liệu trong Website này được Admin biên soạn hoặc sưu tầm từ Internet, bản quyền thuộc tác giả. Thư viện IT chỉ lưu trữ để học tập và tham khảo. Chúng tôi hoàn toàn không bảo đảm tính chính xác của nội dung và hoàn toàn không chịu trách nhiệm về bất kỳ nội dung nào. Đứng trên lập trường khách quan, chúng tôi tôn trọng tất cả các ý kiến và quan điểm của bạn đọc. Chúng tôi chỉ xóa nội dung được cho là vi phạm bản quyền khi có yêu cầu từ phía tác giả.