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

SQL Server 2005 và phạm vi bảng tạm thời

Các bảng tạm thời cục bộ (bắt đầu bằng #) được giới hạn trong phiên của bạn; các phiên khác, ngay cả từ cùng một người dùng / chuỗi kết nối, không thể nhìn thấy chúng. Các quy tắc cho thời gian tồn tại phụ thuộc vào việc bảng tạm thời cục bộ có được tạo trong một thủ tục được lưu trữ hay không:

  • Một bảng tạm thời cục bộ được tạo trong một thủ tục được lưu trữ sẽ bị xóa khi thủ tục kết thúc; các thủ tục được lưu trữ khác hoặc quá trình gọi, không thể nhìn thấy chúng.
  • Các bảng tạm thời cục bộ khác sẽ bị xóa khi phiên kết thúc.

Các bảng tạm thời chung (bắt đầu bằng ##) được chia sẻ giữa các phiên. Chúng bị loại bỏ khi:

  • Phiên tạo ra chúng kết thúc
  • VÀ không phiên nào khác đề cập đến họ

Lệnh này có thể hữu ích để xem bảng tạm thời nào tồn tại:

select TABLE_NAME from tempdb.information_schema.tables 

Và điều này rất hữu ích để loại bỏ các bảng tạm thời nếu bạn không chắc chúng tồn tại:

if object_id('tempdb..#SoTest') is not null drop table #SoTest

Xem bài viết MSDN này để biết thêm thông tin.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Trình tự so với danh tính

  2. Khái niệm cơ bản về tham gia bên trong máy chủ SQL với các ví dụ

  3. Chuỗi phân tách T-SQL

  4. Thuật toán để tránh SQL injection trên MSSQL Server từ mã C #?

  5. SQL Server:Cách chọn tất cả các ngày trong một phạm vi ngày ngay cả khi không có dữ liệu nào tồn tại trong một số ngày