Biến trong SQL Server

Hướng dẫn chi tiết sử dụng biến trong SQL Server

  1. Biến trong SQL Server là gì?
  2. Các loại biến phổ biến trong SQL Server
  3. Một số lưu ý sử dụng biến trong SQL Server
  4. Video thực hành biến

1. Biến trong SQL Server là gì?

Biến trong SQL Server là đối tượng tạm dùng để lưu trữ dữ liệu trong phạm vi của một batch hoặc thủ tục. Biến thường dùng để:

    Gán giá trị tạm thời
    Lưu kết quả trung gian
    Dễ dàng xử lý logic phức tạp trong script hoặc thủ tục

2. Các loại biến phổ biến trong SQL Server

a. Biến đơn (scalar variable)

Lưu một giá trị đơn như INT, VARCHAR, DATETIME...

Cú pháp khai báo biến

DECLARE @BienTen INT
SET @BienTen = 5

Cú pháp khai báo và gán giá trị

DECLARE @HoTen NVARCHAR(50) = N'Nguyễn Văn A'
DECLARE @So int = 100

Sử dụng / in biến

SELECT @BienTen AS GiaTri

Kết hợp biến với giá table

Có 1 bảng nhân viên có 100 bảng ghi, ta khai báo để lấy giá trị

DECLARE @SLNV int

-- CÁCH 1:
Set @SLNV= (Select Count(*) From NhanVien)
-- CÁCH 2:
Select @SLNV=Count(*) From NhanVien   

b. Biến bảng (table variable)

Lưu tập hợp dữ liệu giống như một bảng tạm.

Cú pháp:

DECLARE @DanhSach TABLE (
    Id INT,
    Ten NVARCHAR(100)
)

Thao tác:

INSERT INTO @DanhSach (Id, Ten) VALUES (1, N'Nhật'), (2, N'An')
SELECT * FROM @DanhSach

c. Biến hệ thống (system variable)

Các biến do SQL Server tự định nghĩa, ví dụ:
Biến    Ý nghĩa
@@ROWCOUNT    Số dòng bị ảnh hưởng bởi câu lệnh gần nhất
@@IDENTITY    ID mới nhất được sinh ra (tự tăng)
@@TRANCOUNT    Số transaction đang mở
@@ERROR    Mã lỗi của câu lệnh gần nhất

3. Một số lưu ý sử dụng biến trong SQL Server

    Biến phải bắt đầu bằng dấu @ (trừ biến hệ thống dùng @@)

    Biến phải được khai báo bằng DECLARE trước khi dùng

    Biến chỉ tồn tại trong phạm vi của batch hoặc thủ tục

    Không thể dùng biến bảng trong các hàm định nghĩa người dùng (UDF)

📌 Ví dụ thực tế: Tính thuế đơn hàng

DECLARE @GiaTien FLOAT = 1000000
DECLARE @Thue FLOAT
SET @Thue = @GiaTien * 0.1

SELECT @GiaTien AS GiaGoc, @Thue AS ThueVAT, (@GiaTien + @Thue) AS TongTien

4. Video thực hành biến

Tìm kiếm:

Bài viết liên quan:

Hướng dẫn chi tiết sử dụng biến trong SQL Server