มีใครใช้คุณสมบัติ SQL Server เพื่อสร้างกลุ่มของขั้นตอนการจัดเก็บแตกต่างกันตามหมายเลขหรือไม่


11

คำถามหมายถึงพารามิเตอร์ number ในเอกสารคู่มือmsdnนี้

หากคุณไม่สามารถสร้างโพรซีเดอร์ที่เก็บไว้จำนวนมากใน SQL-Server สร้างความแตกต่างด้วยหมายเลขแล้วปล่อยด้วยการดรอปเพียงครั้งเดียว

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

ฉันสงสัยว่าทุกคนจะใช้คุณลักษณะนี้เพื่อประโยชน์หรือไม่หรือเป็นเพียงความอยากรู้อยากเห็นในอดีต


2
เราไม่ได้ใช้คุณสมบัตินี้ แต่ฉันสงสัยว่านั่นไม่ใช่ปัญหามากกว่าสิ่งที่คุ้มค่าและเพียงเท่าที่คุณพูดความอยากรู้อยากเห็น
jcolebrand

2
คุณสมบัตินี้เลิกใช้แล้วและจะถูกยกเลิกในการเปิดตัวในอนาคต ใช้อย่างระมัดระวัง
mrdenny

คำตอบ:


5

ฉันใช้คุณสมบัตินี้เมื่อประมาณ 6 ปีที่แล้ว คุณพูดถูกเราไม่สามารถทำสิ่งนี้ได้:

drop stored_proc1;2

และ

exec stored_proc1 

เหมือนกับ

exec stored_proc1;1

ทำไมเราถึงใช้มัน? เรามีอัลกอริทึม (กลยุทธ์) จำนวนมากในการคำนวณข้อมูลดังนั้นเราจึงสามารถสลับระหว่างรุ่นต่าง ๆ ได้โดยไม่ต้องเปลี่ยนส่วนต่อการโทร


7

กระบวนงานที่เก็บหมายเลขถูกคัดค้าน

msdn
ขั้นตอนที่กำหนดจะถูกคัดค้าน การใช้ขั้นตอนที่เป็นตัวเลขนั้นไม่ได้รับการสนับสนุน เหตุการณ์ DEPRECATION_ANNOUNCEMENT ถูกเรียกใช้เมื่อรวบรวมแบบสอบถามที่ใช้มุมมองแคตตาล็อกนี้

ทีมของฉันพบสิ่งนี้ในโครงการบำรุงรักษา เราไม่สามารถเข้าใจได้ในตอนแรก จากนั้นเราทำการวิจัยและพบว่ามันเลิกใช้แล้ว เราต้องสร้างมันขึ้นมาใหม่เพื่อเก็บ procs ปกติ

กระบวนงานที่เก็บหมายเลขไว้จะไม่ปรากฏในทรี Object Explorer ของ SSMS

ขั้นตอนการเก็บหมายเลข

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.