Đầu tiên, các bảng tạm thời cục bộ được tạo trong một thủ tục sẽ bị loại bỏ khi thủ tục kết thúc. Từ BOL khi Tạo Bảng :
Nếu mã truy cập dữ liệu của bạn đang mở một kết nối đúng cách, gọi một thủ tục được lưu trữ và sau đó đóng kết nối, bảng tạm thời được tạo trong thủ tục sẽ bị hủy một cách hiệu quả.
Tôi nói "hiệu quả" để đưa ra một điểm khác. Tôi không khuyên bạn nên bỏ bảng tạm thời vào cuối quy trình của bạn mặc dù tôi sẽ thêm một kiểm tra ngay trước khi tạo bảng tạm và bỏ nó nếu tồn tại (ví dụ:if object_id('tempdb..#Foo') is not null
). Lập luận chống lại việc loại bỏ bảng tạm thời ở cuối là bằng cách gọi câu lệnh Drop, bạn đang buộc SQL Server sử dụng tài nguyên để hủy bỏ bảng đó trong khi bạn chờ thủ tục của mình kết thúc. Thay vào đó, nếu bạn để nó vượt ra khỏi phạm vi, thủ tục của bạn sẽ kết thúc ngay lập tức và bạn để SQL Server hủy bảng tại một thời điểm do chính nó lựa chọn.