【发布时间】:2011-01-10 20:14:01
【问题描述】:
我知道 Oracle 和 PL/SQL
相比我对Oracle PL/SQL 的了解,我对PostgreSQL 的存储过程和plpgsql 不是很熟悉。在 Oracle 中,有两种类型的可调用对象:
- 程序。它们可以有IN、OUT和IN OUT参数,但没有返回值
- 函数。它们可以有 IN、OUT 和 IN OUT 参数,并且它们必须返回一个值
但我是 plpgsql 的新手
我了解在 plpgsql 中,所有存储过程都被视为functions。据我了解,这意味着它们可以(但不必)总是返回一个值。现在我在documentation page 上看到,我还可以在函数 上声明OUT 参数,这在Oracle 中是不可能的。但是我没有看到关于 OUT 参数是否可以与返回值组合的示例或任何明确的说明。我也看不到 IN OUT 参数是否可用。
所以这些是我的问题:
- plpgsql 是否允许 IN OUT 参数?
- plpgsql 是否允许 OUT 参数与返回值组合?这是一种常见的做法吗?你有这方面的例子吗?
【问题讨论】:
标签: postgresql stored-procedures plpgsql