Trigger trong SQL

Trigger được hiểu đơn giản là một thủ tục được thực thi từ phía máy chủ cơ sở dữ liệu (CSDL) khi có một sự kiện xãy ra như  Update, Insert hay Delete.

Trigger thường dùng để kiểm ra các ràng buộc toàn vẹn trên CSDL, và chúng được thực thi một cách tự động mà không cần sự can thiệp bằng các thao tác thủ công như kiểm tra dữ liệu, đồng bộ hóa dữ liệu,…

– Tạo Trigger

Cú pháp để tạo một Trigger cơ bản như sau:

1
2
3
4
5
CREATE TRIGGER trigger_name
ON { table | view } -- Chỉ định bảng hoặc view sử dụng Trigger
{ FOR | AFTER | INSTEAD OF }
{ [ INSERT ] [ , ] [ UPDATE ] [ , ] [ DELETE ] } -- Các biến cố tự động kích hoạt Trigger
AS { sql_statement,...}

+Về các tham số { FOR | AFTER | INSTEAD OF }

Khi thực hiện một Trigger thì SQL tự động tạo ra 2 bảng InsertedDeleted trong bộ nhớ chính và cục bộ cho mỗi Trigger, có nghĩa là khi áp dụng Trigger trên bảng nào thì bảng Inserted và Deleted sẽ được sử dụng riêng cho đó bảng đó.

Cấu trúc 2 bảng InsertedDeleted được tạo ra sẽ giống hệt cấu trúc của bảng mà Trigger đang thực thi và chúng chỉ tồn tại trong thời gian Trigger đó thực thi mà thôi.

Ví dụ trên: 2 bảng Inserted và Deleted có cấu trúc giống với bảng CTHD (Bảng mà Trigger đang thực thi) gồm các cột: SoHD, MaSP, SL Continue reading

Advertisements

Các hàm chuyển đổi kiểu dữ liệu trong SQL

Công dụng của các hàm này dùng để chuyển đổi qua lại các kiểu dữ liệu tương thích nhau bên trong Microsoft SQL Server. Thông thường trong các xử lý bạn thường chuyển đổi các kiểu dữ liệu số hoặc kiểu dữ liệu ngày giờ về kiểu dữ liệu chuỗi để hiển thị ra màn hình.

1/- Hàm CAST

Với cú pháp hàm CAST bên dưới cho phép bạn có thể chuyển đổi một biểu thức nào đó sang một kiểu dữ liệu bất kỳ mong muốn. Thông thường đối với các kiểu dữ liệu image, text, ntext rất hạn chế trong việc chuyển đổi qua lại các kiểu dữ liệu khác.

Cú pháp :

Ảnh

Trong đó :

• Biểu thức : là tên của một cột trong bảng hoặc một biểu thức tính toán cần chuyển sang kiểu dữ liệu mới.

• Kiểu dữ liệu : tên kiểu dữ liệu mới mà biểu thức sẽ được chuyển đổi sang.

Ví dụ :

Để hiển thị danh sách các vật tư có trong bảng VATTU, trong đó có cột tỷ lệ phần trăm được hiển thị theo dạng xxx%. Bạn sử dụng hàm CAST để chuyển đổi giá trị cột phần trăm từ kiểu dữ liệu số sang kiểu dữ liệu chuỗi và sử dụng toán tử cộng chuỗi (+) để nối thêm ký tự %. Continue reading