oracle - 为类型分配默认值

标签 oracle postgresql user-defined-functions postgresql-9.2 optional-parameters

如何在 PostgreSQL 9.3 中为以下类型的 Oracle 语句分配默认值?

CREATE OR REPLACE FUNCTION(....
...
DECLARE
 v_var Table01.column01%TYPE := 'SLOW';
BEGIN
...
...
END;

最佳答案

Postgres 允许提供参数默认值,这会在函数调用中缺少参数时启动。只允许列表末尾的参数
示例:

CREATE OR REPLACE FUNCTION foo (
                  param1 int
                , v_char tbl01.col01%TYPE <b>DEFAULT 'foo'</b>)
...
-- no need to DECLARE anything else.
BEGIN
...

语法快捷方式为 v_char tbl01.col01%TYPE = 'foo'

调用:

SELECT * FROM foo(1, 'bar');
SELECT * FROM foo(1);        -- Param default kicks in

Details in the manual.

关于oracle - 为类型分配默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19409055/

相关文章:

java - Oracle:数据库属于用户还是用户属于数据库?

sql - join 子句与 where 子句中的 oracle sql 自连接过滤器

django - 主键值未正确递增

postgresql - 使用 SSL 将 Pentaho Kettle/Spoon 连接到 Heroku PostgreSQL 时出现问题

postgresql - 在RUST中将Postgresql时间戳转换为字符串

python - 如何在 matplotlib 中的另一个图之上添加一个图?

oracle - Groovy/Grails无法加载oracle.jdbc.driver.OracleDriver

Oracle SQLPLUS - 当假脱机超过 50,000 条记录时,如何仅输出一次 header ?

apache-spark - 在另一个数据框的UDF中时如何引用数据框?

excel - Excel 是否可以识别单元格中以逗号分隔的数字模式并删除该模式的重复项?