Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Phạm vi bảng tạm thời?

Đầ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.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Lấy kinh độ và vĩ độ gần nhất từ ​​bảng cơ sở dữ liệu MSSQL?

  2. Ghi lại thời gian bắt đầu và kết thúc để biết các thay đổi về trạng thái của một trường

  3. Cách thêm cột mới vào bảng hiện có trong SQL Server (T-SQL)

  4. Cách tạo tệp văn bản bằng script sql với văn bản |

  5. Kết hợp (nối) ngày và giờ thành một ngày giờ