- [DEVEXPRESS] Chia sẻ code các tạo report in nhiều hóa đơn trên XtraReport C#
- [POWER AUTOMATE] Hướng dẫn gởi tin nhắn zalo từ file Excel - No code
- [C#] Chia sẻ code lock và unlock user trong domain Window
- [SOFTWARE] Giới thiệu bộ phần mềm tính Kết Cấu Thép HatteSale, Mộng Đơn, Dầm, Sàn, Móng Cọc, Vách, Xà Gồ, Tính Tải Trọng
- [DEVEXPRESS] Vẽ Biểu Đồ Stock Chứng Khoán - Công Cụ Thiết Yếu Cho Nhà Đầu Tư trên Winform
- [C#] Hướng dẫn bảo mật ứng dụng 2FA (Multi-factor Authentication) trên Winform
- [C#] Hướng dẫn convert HTML code sang PDF File trên NetCore 7 Winform
- [C#] Hướng dẫn viết ứng dụng chat với Gemini AI Google Winform
- Hướng dẫn khóa file bằng nhiều process id, không cho xóa tập tin
- Hướng dẫn cách tạo Product Id cho ứng dụng phần mềm XXXXX-XXXXX-XXXXX-XXXXX
- [SQLSERVER] Hướng dẫn tạo script sql từ ứng dụng Sqlserver management Studio
- [C#] Hướng dẫn sử dụng thư viện AutoITx lấy id và password Ultraviewer trên winform
- [VB.NET] Hướng dẫn lấy thông tin tài khoản đăng nhập windows và khởi động lại ứng dụng ở chế độ Administrator
- [C#] Sử dụng thư viện Polly gửi lại request api khi request bị lỗi hay rớt mạng
- [DEVEXPRESS] Chia sẻ source code tạo báo cáo report in tem nhãn label trên C# winform
- [DEVEXPRESS] Hướng dẫn vẽ biểu đồ Bar Chart trên Winform
- [C#] Tạo form đăng nhập và đăng ký với hiệu ứng Sliding Animation Effect
- [C#] Hướng dẫn tạo thanh toán đơn hàng qua mã vạch VietQR sử dụng API PayOS hoàn toàn miễn phí
- [C#] Hướng dẫn ghi log ra RichTextBox giống Console trên Winform sử dụng thư viện Serilog
- [C#] Hướng dẫn cách tạo mã QR Code trên file Excel
[SQLSERVER] Tạo mã sản phẩm tự động như: SP0001, SP0002, SP0003... sử dụng Trigger
Xin chào các bạn, bài viết hôm nay mình hướng dẫn các bạn cách tạo mã sản phẩm tự động như product code: SP0001, SP0002... trong sqlserver.
[SQLSERVER] Tạo mã sản phẩm tự động Product Code: SP0001, SP0002,....
Đầu tiên, các bạn tạo cho mình 1 table Product
CREATE TABLE Product
(
ID INT IDENTITY(1,1) PRIMARY KEY,
Code VARCHAR(6),
Name NVARCHAR(50) NOT NULL
)
Video hướng dẫn step by step:
Tiếp đến, chúng ta sẽ tạo 1 Trigger, để khi dữ liệu insert mới vào chúng ta sẽ update cột Code lại.
CREATE TRIGGER trgAutoGenerateCode
ON Product
AFTER INSERT
AS
BEGIN
DECLARE @maxId INT, @newCode VARCHAR(10)
SELECT @maxId = ISNULL(MAX(RIGHT(Code, 4)), 0) + 1
FROM Product
SELECT @newCode = 'SP' + RIGHT('0000' + CAST(@maxId AS VARCHAR(4)), 4)
FROM Product
UPDATE Product SET Code = @newCode
WHERE Id IN (SELECT Id FROM inserted)
END
Giải thích các bước trong trigger:
- Bước 1: Tạo trigger với tên
trgAutoGenerateCode
cho bảngTableName
. - Bước 2: Trigger được kích hoạt sau khi một bản ghi mới được chèn vào bảng
TableName
. - Bước 3: Khai báo biến
@maxId
và@newCode
. - Bước 4: Lấy giá trị lớn nhất của mã code hiện có trong bảng, bỏ phần 'SP' và lấy 4 chữ số cuối cùng.
- Bước 5: Tạo mã code mới bằng cách cộng 1 vào giá trị
@maxId
, sau đó đưa nó về dạng chuỗi có 4 chữ số bằng cách sử dụng hàmRIGHT
và thêm phần 'SP' ở đầu. - Bước 6: Cập nhật mã code mới vào bảng cho tất cả các bản ghi mới được chèn, sử dụng điều kiện
WHERE Id IN (SELECT Id FROM inserted)
.
Tiếp đến, bạn insert vài sản phẩm để test thử.
INSERT INTO [dbo].[Product]
(
[Name]
)
VALUES
(
N'Beer' -- Name - nvarchar(50)
)
Và dưới đây là kết quả:
Thanks for watching!