数据库中函数的需求是什么,就像函数所做的一切一样,也可以通过数据库中的过程来实现。
问问题
120 次
2 回答
4
在 Oracle 中,它们非常相似。主要区别在于函数返回结果,过程不返回。(不要与两者都可能具有的输出参数混淆......)
这种差异使得在 SQL 语句中使用函数成为可能,例如
select user_name, myFunction( some_attribute ) from ...
或者
select ... where fn2(col1)=something
您可以将其视为某种转换。
当然,为了在 SQL 语句中有效使用,它们应该很快,因为可以对输出中的每一行或每个检查的行执行多次。(和/或确保行数不会太大)。
此外,在最近的版本中,可以使用 return 作为实时 dbms_output(搜索管道行)。
于 2013-01-19T19:24:16.057 回答
1
您还可以在基于函数的索引中使用函数。并且这些索引也可以是唯一索引。使用基于函数的唯一索引,您可以构建复杂的唯一约束。
create unique index UK_MYINDEX
on TBL_MYTABLE (case when IS_ACTUAL(MY_COLUMN_2) then MY_COLUMN_1 end);
在此示例中,我在唯一索引中使用 IS_ACTUAL 函数,以便仅对实际记录强制执行唯一 MY_COLUMN_1 约束。
于 2013-01-19T20:19:00.793 回答