什么时候在SQL Server中使用函数或存储过程?

10 浏览
0 Comments

什么时候在SQL Server中使用函数或存储过程?

这个问题已经有答案了

在SQL Server中使用函数与存储过程

在SQL Server中什么时候应该使用函数,什么时候应该使用存储过程?

我想知道人们的想法和经验。还想知道何时使用视图。我不是在寻找这些数据库对象的定义。讨论实际情况将是很好的。

admin 更改状态以发布 2023年5月21日
0
0 Comments

比如在我日常的工作中,我使用存储过程来检索、存储、更新和删除记录,我通常从Web应用程序中执行这些存储过程,但是有时当一些存储过程需要一些复杂或重复的操作时,我会使用函数来重用该操作,以便在需要时保持更清晰的代码。

我们通常不使用视图,但您可以使用它们来简化操作,如果只是调用视图,则无需编写相同的长Select命令和连接。

这是我的经验,对不起我的英语 🙂

0
0 Comments

在我看来,仅仅为了读取数据而使用SP是一种非常不好的习惯。你必须区分以下三种情况:

  • SP:批处理,通常是多语句。你可以(几乎)做任何事情。最大的缺点是你无法轻松地继续使用SP的结果,而且如果你想在后续查询中使用SP的返回值,你总是必须将其写入正确声明的表(实际的、临时的或变量)。这可能会导致很多容易出错的敲打。此外,优化器无法有效地处理这个。

  • TV-UDF(带表值的用户定义函数):必须注意到存在两种风味:单语句(即带即用)或多语句。第一个好,第二个(几乎所有情况下)非常糟糕!与视图相比的优势在于,参数及其处理是预编译的。

  • 视图:这与即带即用的TV-UDF一样好。你可以使用模式绑定声明它,几乎可以像处理表一样处理它(索引等)......

总之:将SP用于UPDATE、DELETE、任何类型的数据或结构操作,但不要只为了读取而使用。

0