07 trigger view

12

Click here to load reader

Upload: tran-thanh

Post on 17-Jun-2015

175 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: 07 trigger view

Trigger

Lê Hồng Hải, [email protected]ộ môn CHTTT, ĐH Công nghệ

Hệ quản trị Cở sở dữ liệu

Page 2: 07 trigger view

Trigger

Triggers là quá trình tự động thi hành các lệnhSQL hoặc SP sau hoặc trước các lệnh INSERT, UPDATE, hoặc DELETE.

Các ứng dụng có thể bao gồm: lưu lại thay đổi hoặc cập nhật dữ liệu các bảng khác.

Trigger chạy sau mỗi câu lệnh cập nhật bảng do đó có thể thêm tải với CSDL

Page 3: 07 trigger view

Cú pháp tạo Trigger

CREATE TRIGGER name BEFORE | AFTER INSERT |UPDATE | DELETE ON tablename

FOR EACH ROW sql-code

Page 4: 07 trigger view

Ví dụ Trigger

DELIMITER ;;

CREATE TRIGGER `upd_film` AFTER UPDATE ON `film` FOR EACH ROW BEGIN

IF (old.title != new.title) or (old.description != new.description) THEN UPDATE film_text SET title=new.title, description=new.description, film_id=new.film_id WHERE film_id=old.film_id; END IF; END;;DELIMITER ;

Page 5: 07 trigger view

Cú pháp

Cú pháp lệnh bên trong tương tự SP Trong trigger, mã lệnh có thể truy cập các cột của

bản ghi hiện tại OLD.columnname trả lại nội dung của bản ghi

trước khi bị thay đổi hoặc xóa (UPDATE, DELETE)

NEW.columnname trả lại nội dung của bản ghi mới hoặc bản ghi thay thế (INSERT, UPDATE)

Page 6: 07 trigger view

Quản lý Trigger

Trigger is stored as plain text file in the database folder as follows: /data_folder/database_name/table_name.trg,

Để hiển thị các trigger gắn với 1 bảng dữ liệu

SELECT * FROM Information_Schema.TriggerWHERE Trigger_schema = 'database_name' AND Event_object_table = 'table_name';

Page 7: 07 trigger view

Một số lệnh quản trị

DROP TRIGGER tablename.triggername ALTER TRIGGER, SHOW CREATE TRIGGER, hoặc

SHOW TRIGGER STATUS.

Page 8: 07 trigger view

Khung nhìn (View)

Page 9: 07 trigger view

Khung nhìn (View)

Khung nhìn là các truy vấn SELECT được lưu. Có thể thực hiện truy vấn trên chính khung nhìn

Cú pháp:

CREATE VIEW view_name AS SELECT statement

Page 10: 07 trigger view

Ưu điểm sử dụng khung nhìn

An ninh – Cho phép người quản trị CSDL (DBA) cung cấp cho người sử dụng chỉ những dữ liệu cần thiết

Đơn giản hóa – Các khung nhìn cũng có thể sử dụng để ẩn và sử dụng lại các truy vấn phức tạp

Page 11: 07 trigger view

Ví dụ

CREATE VIEW staff_list

AS

SELECT *

FROM staff AS s JOIN address AS a ON s.address_id = a.address_id JOIN city ON a.city_id = city.city_id

JOIN country ON city.country_id = country.country_id;

Page 12: 07 trigger view

Tài liệu tham khảo

http://www.mysql.com http://dev.mysql.com/doc/refman/5.5/en/ http://www.mysqltutorial.org/mysql-triggers.aspx