2012-07-04 48 views
7

Trong mã máy chủ của tôi, tôi tạo một bảng tạm thời (có tên #temp), chèn một số dữ liệu và sau đó xóa bảng tạm thời. Nếu có hơn 1 người dùng chạy phần này của mã (tạo bảng tạm thời), thì máy chủ sql 2008 sẽ tạo bảng tạm thời cho mỗi người dùng hay tạo bảng tạm thời 1 'toàn cục'? Nếu một bảng của nó, tôi cho rằng tôi sẽ gặp rắc rối khi cùng một bảng được tạo ra nhiều lần?Sql server 2008, là các bảng tạm thời độc đáo

Trả lời

8

Từ MSDN:

Bạn có thể tạo các bảng tạm thời địa phương và toàn cầu. Địa phương tạm thời bảng có thể nhìn thấy duy nhất trong phiên hiện tại, và toàn cầu tạm bảng có thể nhìn thấy tất cả các phiên
...
Nếu một bảng tạm thời địa phương được tạo ra trong một thủ tục lưu trữ hoặc ứng dụng có thể được thực hiện tại cùng một thời gian của nhiều người dùng, Công cụ cơ sở dữ liệu phải có khả năng phân biệt các bảng được tạo bởi những người dùng khác nhau. Cơ sở dữ liệu thực hiện điều này bằng cách nội bộ gắn một hậu tố dạng số vào mỗi tên bảng tạm thời cục bộ. tên đầy đủ của một bảng tạm thời như được lưu trữ trong bảng sysobjects trong tempdb được tạo thành từ tên bảng được chỉ định trong câu lệnh CREATE TABLE và hậu tố số do hệ thống tạo. Để cho phép hậu tố , tên bảng được chỉ định cho tên tạm thời cục bộ không thể vượt quá 116 ký tự.

+2

Cũng từ MSDN: Tiền tố địa phương tên bảng tạm thời với dấu hiệu duy nhất số (#table_name), và tiền tố toàn cầu tên bảng tạm thời với một dấu hiệu số kép (## tên_bảng). – Eminem

Các vấn đề liên quan