Như hầu hết những người làm việc với Sql Server biết, bạn có thể khai báo một bảng tạm thời như sau:Tự động đặt tên các chỉ mục trong SQL Server 2005?
create table #foo
(
row_id int identity not null primary key,
bar varchar(50) not null default 'YoMomma'
);
... điều này sẽ tạo ra một khóa chính và một hạn chế mặc định trên bảng tạm thời này; tên của các đối tượng này sẽ là duy nhất, được tạo bởi Sql Server.
Có thể tạo chỉ mục được đặt tên động cho bảng sau khi được tạo không? Tôi có một trường hợp mà một thủ tục lưu trữ sử dụng các bảng tạm thời có thể chạy nhiều trường hợp cùng một lúc, và tôi muốn tăng hiệu suất mà không có rủi ro xung đột giữa các đối tượng có tên giống nhau trong cơ sở dữ liệu tempdb. Lệnh CREATE INDEX
yêu cầu tên chỉ mục rõ ràng.
Tôi đang tìm một giải pháp không liên quan đến SQL động, chỉ tên động.
Hmmm ... 10 năm làm việc với SQL Server, và tôi không bao giờ biết điều đó. Tôi chỉ đơn giản giả định các chỉ mục được coi là các đối tượng tương tự như các ràng buộc, nhưng tôi đã thử nó và xác minh rằng không có xung đột. Thông tin tốt! –
@JeremyHolovacs - các ràng buộc nhận siêu dữ liệu được lưu trữ trong 'sys.objects' mà tôi đoán là lý do cho yêu cầu duy nhất nhưng các chỉ mục thì không. –
+1 Tốt, tôi đã ở dưới cùng một giả định như @JeremyHolovacs – Yuck