Câu hỏi phỏng vấn T-SQL
Câu hỏi

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ì?

Câu trả lời

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ỏ[1][4][9][12].

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[1][10][11][14].

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 '#local_temp_table'". Ngược lại, khi tạo một bảng tạm toàn cục với lệnh CREATE TABLE ##global_temp_table (...), bảng này có thể được truy cập từ các kết nối khác nhau cho đến khi tất cả các kết nối sử dụng nó đều kết thúc[1][3].

Citations:
[1] https://greensql.net/bang-tam-temporary-tables/amp/
[2] https://www.sql.edu.vn/microsoft-sql-server/alter-temporary-table/
[3] https://www.sql.edu.vn/microsoft-sql-server/create-temporary-table/
[4] https://devwork.vn/blog/cau-hoi-phong-van-sql
[5] https://kb.pavietnam.vn/bang-tam-temporary-tables-trong-sql-server.html/amp
[6] https://www.youtube.com/watch?v=zHhAd-z361A
[7] https://quantrimang.com/hoc/local-temporary-table-trong-sql-server-148299
[8] https://kb.pavietnam.vn/kien-thuc-co-ban-ve-temp-table.html/amp
[9] https://vi.linux-console.net/?p=28660
[10] https://devmaster.edu.vn/trong-sql-2-dau-thang-nghia-la-gi.html
[11] https://quantrimang.com/hoc/global-temporary-table-trong-sql-server-148294
[12] https://www.bacs.vn/vi/blog/kien-thuc/50-cau-hoi-phong-van-ve-sql-thuong-gap-8778.html
[13] https://talkbelieve.blogspot.com/2017/10/tang-hieu-suat-bang-tam-temporary-table.html?m=1
[14] https://quantrimang.com/cong-nghe/2-dau-thang-trong-sql-177046Câu hỏi được dịch sang tiếng Việt là: "Sự khác biệt giữa bảng tạm cục b...

junior

junior

Gợi ý câu hỏi phỏng vấn

senior

Sự khác biệt giữa EXEC và sp_executesql là gì?

expert

Chèn kết quả của một thủ tục lưu trữ vào một bảng tạm thời

junior

Nhắc đến Subquery là gì?

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào