CREATE TABLE # – Lệnh tạo bảng tạm

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 #.

You may also like...

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *