微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐