CREATE TABLE # – Lệnh tạo bảng tạm
Nội dung
1. Mô tả
- 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.
2. Cú pháp
- Tạo bảng tạm cục bộ (1 dấu # trước tên bảng)
CREATE TABLE #Tên_bảng
(
Tên_cột_1 Kiểu_dữ_liệu,
Tên_cột_2 Kiểu_dữ_liệu,
...
Tên_cột_n Kiểu_dữ_liệu
)
- Tạo bảng tạm toàn cục (2 dấu # trước tên bảng)
CREATE TABLE ##Tên_bảng
(
Tên_cột_1 Kiểu_dữ_liệu,
Tên_cột_2 Kiểu_dữ_liệu,
...
Tên_cột_n Kiểu_dữ_liệu
)
3. Ví dụ
- Tạo bảng tạm cục bộ
--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 #.