Mobo
  • Home
  • Hướng Dẫn
  • Trend 24h
  • Tử Vi 24h
No Result
View All Result
Mobo
  • Home
  • Hướng Dẫn
  • Trend 24h
  • Tử Vi 24h
No Result
View All Result
Mobo
No Result
View All Result
topforexviet.com

TRIGGER trong SQL – TopDev

by admin
3 Tháng 2, 2023
in Trend 24h
0
Share on FacebookShare on Twitter

Contents [hide]

    • 0.1 BẠN QUAN TÂM
    • 0.2 Vai Trò Của Nhà Quản Trị Trong Thời Đại Số
    • 0.3 Sức Mạnh của Hình Ảnh Kết Luận
  • 1 Trigger trong SQL là gì?
  • 2 Trigger được sử dụng khi nào?
  • 3 Ưu và nhược điểm của Trigger
    • 3.1 Ưu điểm của Trigger
    • 3.2 Nhược điểm của Trigger
  • 4 Cú pháp của Trigger

BẠN QUAN TÂM

Xu hướng quản trị 24h qua: Lãnh đạo linh hoạt và thích ứng

Vai Trò Của Nhà Quản Trị Trong Thời Đại Số

27 Tháng 2, 2025
Hình ảnh kết luận trên mạng xã hội

Sức Mạnh của Hình Ảnh Kết Luận

27 Tháng 2, 2025

Nội dung bài viết

  • Trigger trong SQL là gì?
  • Trigger được sử dụng khi nào?
  • Ưu và nhược điểm của Trigger
  • Ưu điểm của Trigger
  • Nhược điểm của Trigger
  • Cú pháp của Trigger

Trigger trong SQL là gì?

Trigger là một thủ tục SQL được thực thi ở phía server khi có một sự kiện như Insert, Delete, hay Update. Trigger là một loại stored procedure đặc biệt (không có tham số) được thực thi (execute) một cách tự động khi có một sự kiện thay đổi dữ liệu (data modification). Trigger được lưu trữ và quản lý trong Server DB, được dùng trong trường hợp ta muốn kiểm tra các ràng buộc toàn vẹn trong DB.

Trigger được sử dụng khi nào?

  • Trigger thường được sử dụng để kiểm tra ràng buộc (check constraints) trên nhiều quan hệ (nhiều bảng/table) hoặc trên nhiều dòng (nhiều record) của bảng.
  • Ngoài ra việc sử dụng Trigger để chương trình có những hàm chạy ngầm nhằm phục vụ nhưng trường hợp hữu hạn và thường không sử dụng cho mục đích kinh doanh hoặc giao dịch.
  • Ngăn chặn việc xóa những dữ liệu quan trọng. (có thể dùng back up các dữ liệu quan trọng sang table khác phòng khi …bị xóa ngoài ý muốn).

Mỗi table thường sẽ có 3 thao tác làm thay đổi dữ liệu đó là: UPDATE, INSERT, DELETE. Và đôi khi mỗi hành động như vậy ta sẽ có những ràng buộc trên bảng để giúp bảo toàn dữ liệu, lúc này sử dụng trigger là một giải pháp tốt. Ví dụ bạn thiết kế cho bảng product và category, trong đó product sẽ có một column tên là total_product dùng để lưu trữ tổng số sản phẩm của category đó. Khi thêm một product thì ta phải tăng column đó lên một đơn vị. Khi update phải kiểm tra có thay đổi category không để tăng hoặc giảm cho hợp lý, khi delete thì bớt đi một. Việc này hoàn toàn có thể code bằng các ngôn ngữ đang sử dụng SQL Server, tuy nhiên bạn có thể sử dụng trigger để giúp hệ thống dữ liệu hoạt động tốt hơn.

Ưu và nhược điểm của Trigger

Ưu điểm của Trigger

  • Trigger có thể bắt lỗi business logic ở mức csdl.
  • Có thể dùng trigger là một cách khác để thay thế việc thực hiện những công việc hẹn giờ theo lịch.
  • Trigger rất hiệu quả khi được sử dụng để kiểm soát những thay đổi của dữ liệu trong bảng.

Nhược điểm của Trigger

  • Trigger chỉ là một phần mở rộng của việc kiểm tra tính hợp lệ của dữ liệu chứ không thay thế được hoàn toàn công việc này.
  • Trigger hoạt động ngầm ở trong csdl, không hiển thị ở tầng giao diện. Do đó, khó chỉ ra được điều gì xảy ra ở tầng csdl.
  • Trigger thực hiện các update lên bảng dữ liệu vì thế nó làm gia tăng lượng công việc lên csdl và làm cho hệ thống chạy chậm lại.
Cơ bản về lớp Vector | How Kteam – Howkteam.com

Cú pháp của Trigger

Để tạo một Trigger, bạn sử dụng câu lệnh CREATE TRIGGER:

CREATE TRIGGER trigger_name trigger_time trigger_event ON table_name FOR EACH ROW BEGIN … END;

Trong đó:

  • Một Trigger được khởi tạo sau câu lệnh CREATE TRIGGER. Quy tắc đặt tên nên tuân theo nguyên tắc: [trigger time]_[table name]_[trigger event], ví dụ before_employees_update.
  • Thời gian kích hoạt : BEFORE hoặc AFTER. Cần phải chỉ định thời gian kích hoạc khi bạn xác định được tiến trình kích hoạt của nó. Sử dụng từ khóa BEFORE nếu bạn muốn xử lý hành động trước khi thực hiện thay đổi trên bản và AFTER nếu bạn cần phải xử lý hành động sau khi thay đổi được thực hiện xong.
  • Sự kiện gây ra có thể là INSERT, UPDATE, DELETE.
  • Trình kích hoạt phải được liên kết với một bảng cụ thể, sử dụng từ khóa ON để xác định.
  • Câu lệnh SQL phải được đặt giữa từ khóa BEGIN và END.

Ví dụ

Ví dụ về Câu Hỏi Nghiên Cứu là Gì?

Cung cấp Cơ sở dữ liệu Báo cáo Học sinh, trong đó đánh giá điểm của học sinh được ghi lại. Trong lược đồ như vậy, hãy tạo một Trigger để tính tổng số và trung bình của các bảng đã chỉ định được tự động chèn bất cứ khi nào một bản ghi được chèn.

Ở đây, vì trigger sẽ gọi trước khi bản ghi được chèn, nên có thể sử dụng thẻ BEFORE.

+-+-+-+-+-+-+ | Field | Type | Null | Key | Default | Extra | +-+-+-+-+-+-+ | tid | int(4) | NO | PRI | NULL | auto_increment | | name | varchar(30) | YES | | NULL | | | subj1 | int(2) | YES | | NULL | | | subj2 | int(2) | YES | | NULL | | | subj3 | int(2) | YES | | NULL | | | total | int(3) | YES | | NULL | | | per | int(3) | YES | | NULL | | +-+-+-+-+-+-+

10 kiểu tóc mái nam cực HOT 2022 quyến rũ mọi ánh nhìn

Câu lệnh trigger SQL tới sự cố.

create trigger stud_marks before INSERT on Student for each row set Student.total = Student.subj1 + Student.subj2 + Student.subj3, Student.per = Student.total * 60 / 100;

Câu lệnh SQL trên sẽ tạo một trigger trong cơ sở dữ liệu sinh viên, trong đó bất cứ khi nào điểm môn học được nhập, trước khi chèn dữ liệu này vào cơ sở dữ liệu, trigger sẽ tính toán hai giá trị đó và chèn các giá trị đã nhập.

Sức Mạnh của Hình Ảnh Kết Luận

insert into Student values(0, “ABCDE”, 20, 20, 20, 0, 0); Query OK, 1 row affected (0.09 sec) select * from Student; +-+-+-+-+-+-+-+ | tid | name | subj1 | subj2 | subj3 | total | per | +-+-+-+-+-+-+-+ | 100 | ABCDE | 20 | 20 | 20 | 60 | 36 | +-+-+-+-+-+-+-+

Bằng cách này, trigger có thể được tạo và thực thi trong cơ sở dữ liệu.

Tìm việc làm SQL lương cao hấp dẫn cho bạn tại Topdev.

Tham Khảo:

  • SQL Injection là gì? Cách giảm thiểu và phòng ngừa
  • https://www.geeksforgeeks.org/sql-trigger-student-database/

BÀI LIÊN QUAN

Xu hướng quản trị 24h qua: Lãnh đạo linh hoạt và thích ứng

Vai Trò Của Nhà Quản Trị Trong Thời Đại Số

by admin
27 Tháng 2, 2025
0

Vai trò của nhà quản trị đang thay đổi chóng mặt trong thời đại số. Không còn chỉ đơn thuần...

Hình ảnh kết luận trên mạng xã hội

Sức Mạnh của Hình Ảnh Kết Luận

by admin
27 Tháng 2, 2025
0

Hình ảnh kết luận đóng vai trò then chốt trong việc truyền tải thông điệp và để lại ấn tượng...

Giá trị P trong Nghiên cứu Khoa học

Cách Tính P trong Nghiên cứu Khoa học

by admin
26 Tháng 2, 2025
0

Cách tính p trong nghiên cứu khoa học đóng vai trò then chốt trong việc xác định ý nghĩa thống...

Ví dụ Câu Hỏi Nghiên Cứu Khoa Học

Ví dụ về Câu Hỏi Nghiên Cứu là Gì?

by admin
25 Tháng 2, 2025
0

Ví dụ về câu hỏi nghiên cứu là gì? Đó là câu hỏi mà rất nhiều người mới bắt đầu...

Bài tiếp theo

Cách lấy html của 1 trang web nhanh, đơn giản

Facebook Twitter Instagram

VỀ CHÚNG TÔI

CHÍNH SÁCH

  • Giới thiệu
  • Điều khoản
  • Chính sách bảo mật

BÀI MỚI NHẤT

  • Tử Vi Em Bé Sinh Năm 2023: Giải Mã Vận Mệnh Quý Mão
  • Khám Phá Bí Mật Tử Vi Hoàng Nguyễn
  • Tử Vi Bính Ngọ Năm 2025: Chi Tiết Vận Hạn
  • Ý Nghĩa Sao Tử Vi Ở Các Cung
  • Xem Tử Vi Ngày 3/3/2025: Dự Đoán Vận May Của Bạn

© 2022 MOBO.VN

sancrypto.net
No Result
View All Result
  • Landing Page
  • Buy JNews
  • Support Forum
  • Pre-sale Question
  • Contact Us

© 2022 MOBO.VN

apkfrlegends.com igram.dev