如何在金仓数据库KingbaseES中使用pg_get_function_arg_default函数

关键字

pg_get_function_arg_default,regproc

问题描述

如何在金仓数据库KingbaseES中使用pg_get_function_arg_default函数获取函数或者存储过程中相应位置的参数?

解决方案

    1)获得函数数据类型:oid、integer

    2)将创建对象转换为oid模式

    3)select pg_get_function_arg_default('pr1'::regproc,1);

    执行结果:   pg语法(oracle语法同)

 test=# \set SQLTERM /
    test=# CREATE OR REPLACE PROCEDURE pr1(a1 int :=10,a2 varchar(50) :='beijing') AS $$
    test$# BEGIN
    test$# INSERT INTO t1 VALUES(1,'kingbase');
    test$# INSERT INTO t1 VALUES(a1,a2);
    test$# END;
    test$# $$
    test-# LANGUAGE PLPGSQL;
    test-# /
    CREATE PROCEDURE
    test=# select pg_get_function_arg_default('pr1'::regproc,1);
    test-# /
    pg_get_function_arg_default
    -----------------------------
    10
    (1 row)

    test=# \df pg_get_function_arg_default

    List of functions
    Schema      | Name                                         | Result data type | Argument data types | Type
    ----------------+-------------------------------------------+-------------------------+--------------------------------+------
    pg_catalog | pg_get_function_arg_default | text                        | oid, integer                  | func

    'object_name'::regproc   将创建对象转化为oid形式   

     integer   填写具体数字 对应参数的位置

    pg_get_function_arg_default   函数是获取对应位置参数的默认值

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值