什么时候使用程序,什么时候使用函数?
Posted
技术标签:
【中文标题】什么时候使用程序,什么时候使用函数?【英文标题】:when we use procedure and when we use function? 【发布时间】:2013-07-26 15:06:15 【问题描述】:哪两个任务应该创建为函数而不是过程? (选择两项。)
在 PL7SQL 代码块中引用主机或绑定变量。
B.计算多个值并将其返回给调用环境的任务。
计算必须返回给调用环境的值的 C.tasks。
在 SQL 中执行的 D.tasks 通过在 Oracle 服务器中处理复杂的数据分析而不是通过将数据检索到应用程序中来提高数据独立性。
答案是什么
我们可以在函数或过程中引用主机或绑定变量吗?
【问题讨论】:
【参考方案1】:好吧,让我们看看:
A.在 PL/SQL 代码块中引用宿主或绑定变量 - 过程和函数都可以接受宿主代码中的绑定变量,因此这适用于两者。
B.计算多个值并将其返回给调用环境的任务 - 过程和函数都可以通过 OUT 参数执行此操作,因此这也适用于两者。
C.计算必须返回到调用环境的值的任务 - 过程和函数都可以执行此操作(过程可以使用 OUT 参数),因此这同样适用于两者 - 尽管问题中使用“返回”一词表明作者的意思是“通过使用 RETURN 关键字返回一个值”,所以让我们只给函数一个值,而忽略我们更清楚这一事实。
D.在 SQL 中执行的增加数据独立性的任务......等等等等...... - 我将使用这个函数,因为 SQL 语句只能调用一个函数,而不是一个过程 - 另外,我必须选择两个答案,所以这必须是其中之一,因为前两个显然不是函数的属性。
所以,C 和 D。
我做得怎么样? :-)
分享和享受。
【讨论】:
谢谢,但我们不能在标题中引用绑定变量我的意思是在定义中? @鲍勃贾维斯【参考方案2】:当必须将值返回到调用环境和/或预期在查询中使用时,函数是必需的。程序不能做到这两个。
【讨论】:
+1。作为教学,过程可以通过 OUT 参数返回值,但即便如此,它们仍然不能在 SQL 语句中使用。以上是关于什么时候使用程序,什么时候使用函数?的主要内容,如果未能解决你的问题,请参考以下文章