首页 > 数据库 >KingbaseES 基于SQL的函数过程

KingbaseES 基于SQL的函数过程

时间:2022-12-21 15:56:39浏览次数:45  
标签:函数 LANGUAGE CREATE REPLACE SQL KingbaseES SELECT

什么是SQL函数?

  • SQL函数包体是一些可执行的SQL语言。同时包含1条以上的查询,但是函数只返回最后一个查询(必须是SELECT)的结果。
  • 除非SQL函数声明为返回void,否则最后一条语句必须是SELECT语句。
  • 在简单情况下,返回最后一条查询结果的第一行。
  • 如果最后一个查询不返回任何行,那么该函数将返回NULL值。
  • 如果需要该函数返回最后一条SELECT语句的所有行,可以将函数的返回值定义为集合,即SETOF sometype。

语法

CREATE OR REPLACE FUNCTION function_name([ [ argmode ] [ argname ] argtype [ { DEFAULT | = } default_expr ] [, ...] ])
[RETURNS rettype]
AS $$
    $BODY$;
$$ LANGUAGE SQL;

示例

CREATE OR REPLACE FUNCTION add(a number, b number)
RETURNS NUMERIC
AS $$
    SELECT a+b;
$$ LANGUAGE SQL;

CREATE OR REPLACE FUNCTION add(number,number)
RETURNS NUMERIC
AS $$
SELECT $1 + $2;
$$ LANGUAGE SQL;

CREATE OR REPLACE FUNCTION select1()
RETURNS integer
AS $$
    select quantity from pivot_t1;
$$ LANGUAGE SQL;
该查询返回表的第一条记录

CREATE OR REPLACE FUNCTION select2()
RETURNS setof integer
AS $$
    select quantity from pivot_t1;
$$ LANGUAGE SQL;
该查询返回表的全部记录

标签:函数,LANGUAGE,CREATE,REPLACE,SQL,KingbaseES,SELECT
From: https://www.cnblogs.com/kingbase/p/16945450.html

相关文章

  • 构造函数的继承和派生类选择基类的构造方法
    对于构造方法的继承需要注意2点:初始化一个对象时,基类baseclass的构造方法总是会首先执行基类baseclass的有参构造方法不会被继承,在派生类中需要我们重新定义新的构造......
  • KingbaseES V8R6 空闲事务会话超时自动终止机制
    背景如果会话在事务中停留的时间过长,则允许自动终止空闲会话。可以由配置参数idle_in_transaction_session_timeout事务处于空闲状态的时长,它有助于防止被遗忘的交易事务......
  • ibatis后台通过SqlMapClient获取sql语句
    Stringsql="";SqlMapClientImplsqlmap=(SqlMapClientImpl)getSqlMapClient();MappedStatementstmt=sqlmap.getMappedStatement("UupmUser.selectUsersPgnCountByC......
  • SQL Server 2019性能测试
    SQLServer2019性能测试测试环境:❤客户端操作系统:windows10x64❤ODBC驱动:MicrosoftODBCDriver17forSQLServer❤IDE:VisualStudio2017一、速度测试......
  • MAC 安装 MySQL
    安装#查询mysql版本➜~brewsearchmysql==>[email protected]@5.6mysqlmysql-co......
  • 设置MySQL数据库的远程连接权限
    解决方案在服务器上登录数据库,然后执行如下授权SQL语句。该授权SQL语句的含义为root用户可用任何IP地址登录数据库,操作任何数据库中的任何对象。 GRANTALLPRIVILEG......
  • MySQL xtrabackup 物理备份原理
    一、简介xtrabackup是percona公司开源的MySQLinnodb物理备份工具,支持在线热备(备份时不影响数据读写),在工具在业内生产上被大量使用,本次使用xtrabackup备份的日志和数据......
  • MySQL锁等待超时问题技术分享
    背景错误信息:Lockwaittimeoutexceeded;tryrestartingtransaction,我们常称为锁等待超时。根据类型一般分为两类:1、 行锁等待超时;最常见的场景,因为事务等待行锁超......
  • sql自动补全缺失的日期,并将空值替换成上一个非空值
    一、应用场景填充日期(以一个月为单位),在没有出现日期的节点自动填充成前面第一个节点日期存在的值。先准备两个数据集,一是全部的日期数据集,即包含所有年月的数据集;二是......
  • MySQL增量同步工具OTTER
    背景:    鉴于****项目中有使用Otter同步数据,同时重庆资源池ESOP也有同样的需求,之前采用的是Federated引擎来实现,但是爱可生RDS不支持该引擎,必须采用其他的工具来实现......