GBase 8c 函数/存储过程参数(一)

  • name:要创建的函数的名称(可以被模式修饰),取值范围:字符串;
  • argmode:函数参数的模式,取值范围:IN、OUT、INOUT或者VARIADIC,缺省为IN。只有OUT模式的参数后面能跟VARIADIC(VARIADIC用于声明数组类型的参数),且OUT和INOUT模式的参数不能用在RETURNS TABLE符的函数定义中;
  • argname:函数参数的名称,取值范围:字符串;
  • argtype:函数参数的数据类型;
  • default_expr:参数的默认表达式;
  • rettype:函数返回值的数据类型,如果有OUT或IN OUT参数,可以省略RETURNS子句,如果未省略则RETURNS子句必须和输出参数表示的结果类型一致:若多个输出参数,则为RECORD否则与单个输出参数的类型相同。SETOF修饰词表示该函数将返回一个集合,而不是单独一项;
  • column_name:字段名称;
  • column_type:字段类型;
  • lang_name:用以实现函数的语言的名字。可以是SQL,C,internal,或者是用户定义的过程语言名字。为了保证向下兼容,该名字可以用单引号(包围)。若采用单引号,则引号内必须为大写;
  • TRANSFORM { FOR TYPE type_name } [, ... ] }:类型转换的列表,适用于对函数的调用;
  • WINDOW:表示该函数是窗口函数,通常只用于C语言编写的函数。替换函数定义时不能改变WINDOW属性;
  • IMMUTABLE:表示该函数在给出同样的参数值时总是返回同样的结果;
  • STABLE:表示该函数不能修改数据库,对相同参数值,在同一次表扫描里,该函数的返回值不变,但是返回值可能在不同SQL语句之间变化;
  • VOLATILE:表示该函数值可以在一次表扫描内改变,因此不会做任何优化;
  • LEAKPROOF:指出该函数的参数只包括返回值。LEAKPROOF只能由系统管理员设置;
  • CALLED ON NULL INPUT:表明该函数的某些参数是NULL的时候可以按照正常的方式调用。该参数可以省略;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值