我已经学习函数和存储过程很长时间了,但我不知道为什么以及何时应该使用函数或存储过程.它们在我看来是一样的,也许是因为我对此有点新手.

有人能告诉我为什么吗?

推荐答案

函数是计算值,不能将环境永久更改为SQL Server(即不允许使用INSERTUPDATE语句).

如果函数返回标量值,则可以在SQL条语句中内联使用;如果函数返回结果集,则可以将其联接.

A point worth noting from comments, which summarize the answer. Thanks to @Sean K Anderson:

函数遵循计算机科学的定义,即它们必须返回一个值,并且不能改变它们作为参数接收的数据

Sql相关问答推荐

AWS Athena将SON对象数组解析到行

如何在VB.NET中使用MS SYS根据开始和结束期间日期进行查询

Microsoft Access UNION将长文本字段限制为255个字符

获取家谱树中第一次出现的特定信息,然后停止

不可能在SQL MERGE子句中引发异常

PostgreSQL:使用JSONB中的字段使用jsonb_to_Records()填充记录

使用Kotlin Exposed SQL DSL Select 多个值并排序

导出部分条形码字符串GS1-128

如何将我的联接数据放入每个用户每月多行的列中?

如何在presto中映射id与名称

Pgsql-返回包含多行数据的行

以一致的价值获得独特的价值

如何根据几个条件 Select 值:如果满足一个范围的SUM,则对另一个范围求和

删除对 JSON 数据的未解析引用的 SQL71502 警告

SQL 搜索 - 获取最大值日期的奇怪行为

我们可以使用连接改进包含多个子查询的查询吗

如何将输出转换为二维格式?

将表格和字符串连接以 for each 记录生成订单项目

带聚合函数的 percentile_cont

具有关联统计信息 N+1 的 Rails 6 索引资源?