Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> SQL Server

Global Temporary Table ใน SQL Server

Global Temporary Table (##) คืออะไร?

ตารางชั่วคราวระดับ Global สร้างใน session ใด session หนึ่ง แต่มองเห็นและเข้าถึงได้จาก ทุก session ใน SQL Server เดียวกัน จะถูกลบอัตโนมัติเมื่อ ไม่มี session ใดอ้างอิงถึงมันอีกต่อไป

รูปแบบคำสั่ง

CREATE TABLE ##table_name (
    col1 data_type [NULL | NOT NULL],
    col2 data_type [NULL | NOT NULL],
    ...
);

คุณสมบัติสำคัญ

  • ชื่อขึ้นต้นด้วย ## (เช่น ##nhanvien)
  • เก็บในฐานข้อมูล tempdb
  • มองเห็นข้าม session/connection
  • หายไปเองเมื่อ session สร้างจบ และไม่มี session ไหนใช้งานอยู่

ตัวอย่าง

CREATE TABLE ##nhanvien (
    id_nhanvien INT PRIMARY KEY,
    ho VARCHAR(50) NOT NULL,
    ten VARCHAR(50),
    luong MONEY
);

สร้างตาราง ##nhanvien 4 คอลัมน์ PK = id_nhanvien

ความแตกต่างจาก Local Temp Table (#): Local (#) มองเห็นเฉพาะ session ที่สร้างเท่านั้น Global (##) มองเห็นทุก session