sql-server – 在SQL Server中,分组存储过程的目的是什么?

我必须处理的最令人困惑的问题之一与存储过程组有关.给定一个存储过程usp_DoSomethingAwesome,我可以通过调用usp_DoSomethingAwesome来创建另一个组中的proc; 2.

我在解决一些系统生成的插入,更新和删除复制存储过程引起的一些复制问题(发布者:sql 2000 Ent.,dist / Sub:2008 R2 Ent.)时发现了这一点.

拥有这种“分组”能力背后的目的/想法是什么?

解决方法

这就像重载方法一样.基本上,您可以创建两个或更多版本的存储过程,每个版本执行不同的操作 – 获取不同数量的参数,在不同的表上操作,具有不同的输出等.

它们被称为Numbered Procedures,它们绝对被弃用(announced since 2005). sql Server 2012仍然支持它们,但某些功能与它们不能很好地配合使用.例如,它们被认为是包含数据库中的包含违规,并且任何编号为>的程序. 1将不会被创建:

Msg 12829,Level 16,State 1,Procedure blat,Line 1 The stored procedure ‘dbo.blat’ refers to a group of numbered stored procedures. Numbered stored procedures are not available in contained databases. Please consult the Books Online topic Understanding Contained Databases for more information on contained databases.

相关文章

SELECT a.*,b.dp_name,c.pa_name,fm_name=(CASE WHEN a.fm_n...
if not exists(select name from syscolumns where name=&am...
select a.*,pano=a.pa_no,b.pa_name,f.dp_name,e.fw_state_n...
要在 SQL Server 2019 中设置定时自动重启,可以使用 Window...
您收到的错误消息表明数据库 'EastRiver' 的...
首先我需要查询出需要使用SQL Server Profiler跟踪的数据库标...