Local Temporary Table (#) คืออะไร?
ตารางชั่วคราวระดับ Local สร้างและมองเห็นได้ เฉพาะ session ที่สร้างเท่านั้น เก็บใน tempdb ลบอัตโนมัติเมื่อ session จบหรือไม่ใช้งานแล้ว
รูปแบบคำสั่ง
CREATE TABLE #table_name (
col1 data_type [NULL | NOT NULL],
col2 data_type [NULL | NOT NULL],
...
);
คุณสมบัติสำคัญ
- ชื่อขึ้นต้นด้วย
#(เช่น#nhanvien) - เก็บใน
tempdb - เข้าถึงได้เฉพาะ session ที่สร้าง (connection อื่นไม่เห็น)
- ลบอัตโนมัติเมื่อ session จบ หรือรัน
DROP TABLE #name
ตัวอย่าง
CREATE TABLE #nhanvien (
id_nhanvien INT PRIMARY KEY,
ho VARCHAR(50) NOT NULL,
ten VARCHAR(50),
luong MONEY
);
กรณีใช้งาน: เก็บข้อมูลระหว่างการประมวลผลซับซ้อนใน stored procedure หรือ batch script ไม่ต้องการคงข้อมูลถาวร