Lệnh CREATE TABLE # dùng để tạo cấu trúc bảng tạm cục bộ (Local Temporary Table) trong CSDL. Chỉ sử dụng trong phạm vi khai báo, ví dụ một kết nối người dùng, một thủ tục.
Lệnh CREATE TABLE ## dùng để tạo cấu trúc bảng tạm toàn cục (Global Temporary Table). Sử dụng trong tất cả kết nối người dùng.
Bảng tạm (Temporary Table) để lưu tạm các dữ liệu quan hệ, được tạo ra trong CSDL tempdb.
--Tạo bảng tạm tên TEMP_TABLE CREATE TABLE #TEMP_TABLE ( Ma int IDENTITY PRIMARY KEY, Ten nvarchar(30) NOT NULL ) --Thêm dữ liệu vào bảng tạm INSERT #TEMP_TABLE(Ten) VALUES(N'Tuấn') INSERT #TEMP_TABLE(Ten) VALUES(N'Lan') --Kiểm tra dữ liệu SELECT * FROM #TEMP_TABLE --Sử dụng bảng tạm trong thủ tục CREATE PROC Test_Temp_Table AS CREATE TABLE #TEMP_TABLE ( Ma int IDENTITY PRIMARY KEY, Ten nvarchar(30) NOT NULL ) INSERT #TEMP_TABLE(Ten) VALUES(N'Tuấn') INSERT #TEMP_TABLE(Ten) VALUES(N'Lan') SELECT * FROM #TEMP_TABLE GO --Gọi thực hiện thủ tục EXEC Test_Temp_Table
Tạo bảng tạm toàn cục
--Tạo bảng tạm tên TEMP_TABLE CREATE TABLE ##TEMP_TABLE ( Ma int IDENTITY PRIMARY KEY, Ten nvarchar(30) NOT NULL ) --Thêm dữ liệu vào bảng tạm INSERT ##TEMP_TABLE(Ten) VALUES(N'Tuấn') INSERT ##TEMP_TABLE(Ten) VALUES(N'Lan') --Kiểm tra dữ liệu SELECT * FROM ##TEMP_TABLE --Sử dụng bảng tạm trong thủ tục CREATE PROC Test_Temp_Table AS CREATE TABLE ##TEMP_TABLE ( Ma int IDENTITY PRIMARY KEY, Ten nvarchar(30) NOT NULL ) INSERT ##TEMP_TABLE(Ten) VALUES(N'Tuấn') INSERT ##TEMP_TABLE(Ten) VALUES(N'Lan') SELECT * FROM ##TEMP_TABLE GO --Gọi thực hiện thủ tục EXEC Test_Temp_Table
Xem thêm: lệnh sửa bảng tạm ALTER TABLE #, lệnh xóa bảng tạm DROP TABLE #.