Trong SQL Server, để tạo một biến kiểu bảng (table variable), bạn dùng cú pháp sau với từ khóa DECLARE và kiểu dữ liệu là TABLE.
Biến bảng (table variable) là một biến kiểu bảng (TABLE) trong SQL Server, được dùng để lưu trữ tạm thời một tập dữ liệu nhiều dòng, giống như một bảng thật nhưng chỉ tồn tại trong phạm vi của một batch, thủ tục, hoặc hàm.
Nói đơn giản: nó như một bảng nhỏ tạm thời, có thể thao tác như bảng bình thường nhưng gọn nhẹ hơn và chỉ dùng trong thời gian ngắn.
DECLARE @TenBien TABLE (
Cot1 KieuDuLieu1,
Cot2 KieuDuLieu2,
...
)
* Bạn muốn tạo một bảng tạm lưu danh sách học sinh gồm Id, Ten, và Tuoi:
DECLARE @DanhSachHocSinh TABLE (
Id INT,
Ten NVARCHAR(50),
Tuoi INT
)
* Thêm dữ liệu vào biến bảng
INSERT INTO @DanhSachHocSinh (Id, Ten, Tuoi)
VALUES (1, N'An', 10),
(2, N'Bình', 11),
(3, N'Cường', 12)
* Truy vấn dữ liệu
SELECT * FROM @DanhSachHocSinh
💡 Lưu ý:
Biến bảng chỉ tồn tại trong phạm vi khối lệnh (scope) nơi nó được khai báo, ví dụ trong thủ tục (stored procedure) hoặc đoạn script hiện tại.
Không thể sử dụng biến bảng trong các câu lệnh CREATE, ALTER... vì nó không phải bảng thật trong cơ sở dữ liệu.
Bước 1: khao báo biến kiểu TABLE
* Các biến khác Declare @b int
-- Khai báo cột trong biến
Ví dụ:
DECLARE @tbTEST TABLE
(
ID INT ,
Col2 VARCHAR(40)
)
-- Chèn bảng ghi vào biến tạm
Insert @tbTEST values(1,'A')
Insert @tbTEST values(2,'B')
-- Select bảng ghi ra ngoài
select * From @tbTEST
* Chú ý: cũng có thể sử dụng cú pháp
INSERT INTO @tbTEST
SELECT * FROM table1
Tên cột và cấu trúc giống nhau, sử dụng từ khóa AS để đổi tên cột
Cách viết code tạo biến Table trong SQL Server