Có ai sử dụng tính năng SQL Server để tạo các nhóm thủ tục được lưu trữ được phân biệt theo số không?


11

Câu hỏi đề cập đến tham số số trong tài liệu msDN này

Nếu bạn không, bạn có thể tạo nhiều thủ tục được lưu trữ trong SQL-Server được phân biệt theo số và thả chúng với một lần thả.

create procedure dbo.stored_proc1 as select 1
go
create procedure dbo.stored_proc1;2 as select 2
go
exec stored_proc1
-- returns 1
go
exec stored_proc1;2
-- returns 2
go
drop stored_proc1
-- drops both 
go

Tôi tự hỏi nếu tính năng này được sử dụng bởi bất cứ ai cho một cái gì đó hữu ích hoặc nếu nó chỉ là một sự tò mò lịch sử.


2
Chúng tôi không sử dụng tính năng này, nhưng tôi tự hỏi nếu điều đó không rắc rối hơn giá trị của nó và như bạn nói, một sự tò mò
jcolebrand

2
Tính năng này đã không được chấp nhận và sẽ bị loại bỏ trong phiên bản tương lai. Sử dụng cẩn thận.
mrdenny

Câu trả lời:


5

Tôi đã sử dụng tính năng này khoảng 6 năm trước. Bạn đã đúng, chúng tôi không thể làm điều này:

drop stored_proc1;2

exec stored_proc1 

giống như

exec stored_proc1;1

Tại sao chúng ta sử dụng nó? Chúng tôi có rất nhiều thuật toán (chiến lược) để tính toán dữ liệu, vì vậy chúng tôi có thể dễ dàng chuyển đổi giữa các phiên bản mà không cần thay đổi giao diện cuộc gọi.


7

Các thủ tục lưu trữ được đánh số không được chấp nhận.

msd
Thủ tục đánh số bị phản đối. Sử dụng các thủ tục đánh số là không khuyến khích. Một sự kiện DEPRECATION_ANNOUNCEMENT được kích hoạt khi một truy vấn sử dụng chế độ xem danh mục này được biên dịch.

Nhóm của tôi gặp phải điều này trong một dự án bảo trì. Chúng tôi không thể tìm ra nó lúc đầu. Sau đó, chúng tôi đã làm một số nghiên cứu và phát hiện ra rằng nó bị phản đối. Chúng tôi đã phải xây dựng lại nó để lưu trữ bình thường.

Các thủ tục được lưu trữ được đánh số sẽ không hiển thị trong cây Object Explorer của SSMS.

Thủ tục lưu trữ được đánh số

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.