我是SQL Server的新手,最近我研究了存储过程。
我想知道什么时候应该使用输入或输出存储过程,它与return有何不同。同样,您什么时候更喜欢使用return而不是存储过程。
我找不到外行指南的确切答案。
我只知道
当您要返回一个或多个数据类型的项时,最好使用输出参数。
通常,对需要返回的任何内容使用输出参数。
当您只想返回仅具有整数数据类型的一项时,最好使用返回值。
答案 0 :(得分:3)
实际上很简单:
Select
语句返回表格数据。Return
。 1 如果要中途终止存储过程,请抛出错误。
但是,有时最好返回一个非零的数字来表示失败,但这意味着使用该过程的任何代码都必须知道数字的含义,这通常会导致一团糟。
我曾经在一家使用这种事情的公司工作过,我继承了包含大约300名成员的enum
的ac#代码,所有这些代码都是从存储过程中抛出的错误代码-这意味着在每个新错误中任何存储过程都必须首先确保该枚举中没有该错误,如果不是,则必须重新编译c#代码并重新部署它,即使我们仅更改现有过程也是如此。
自然,这是一场维护噩梦。