Sự khác biệt giữa bảng tạm cục bộ (Local Temp Table) và bảng tạm toàn cục (Global Temp Table) là gì?
Sự khác biệt giữa bảng tạm cục bộ (Local Temp Table) và bảng tạm toàn cục (Global Temp Table) là gì?
Sự khác biệt chính giữa bảng tạm cục bộ và bảng tạm toàn cục trong SQL Server nằm ở phạm vi sử dụng và thời gian tồn tại của chúng.
Bảng tạm cục bộ, hay Local Temporary Table, được định danh bằng một dấu thăng (#) đứng trước tên bảng. Bảng tạm cục bộ chỉ tồn tại trong phạm vi của một phiên làm việc hoặc kết nối người dùng cụ thể. Khi kết nối đó kết thúc hoặc người dùng ngắt kết nối khỏi phiên bản SQL Server, bảng tạm cục bộ sẽ tự động bị loại bỏ.
Trong khi đó, bảng tạm toàn cục, hay Global Temporary Table, được định danh bằng hai dấu thăng (##) đứng trước tên bảng. Bảng tạm toàn cục có thể được truy cập bởi bất kỳ phiên làm việc nào và không bị hủy cho đến khi tất cả các phiên làm việc sử dụng nó đều kết thúc. Nếu một phiên làm việc tạo ra bảng tạm toàn cục kết thúc nhưng vẫn còn phiên khác đang sử dụng bảng đó, thì bảng sẽ không bị xóa cho đến khi phiên cuối cùng cũng kết thúc.
Ví dụ, khi tạo một bảng tạm cục bộ sử dụng lệnh CREATE TABLE #local_temp_table (...)
, bảng này chỉ có thể được truy cập trong kết nối hiện tại. Nếu một kết nối khác cố gắng truy cập bảng này, hệ thống sẽ trả về lỗi "Invalid object name '#loc...
junior
Gợi ý câu hỏi phỏng vấn
Chưa có bình luận nào