PostgreSQL函式裡呼叫函式(SETOF + RETURN QUERY)
PostgreSQL函式裡呼叫函式(SETOF + RETURN QUERY)
1、函式如下:
CREATE OR REPLACE FUNCTION public.get_version()
RETURNS SETOF
text AS
$$
BEGIN
RETURN query
select version();
END
$$
language plpgsql;
2、實驗記錄:
postgres=# CREATE OR REPLACE FUNCTION public.get_version() RETURNS SETOF text AS
postgres-# $$
postgres$# BEGIN
postgres$# RETURN query
select * from version();
postgres$# END
postgres$# $$
postgres-# language plpgsql;
CREATE FUNCTION
postgres=#
postgres=#
postgres=# select get_version();
get_version
---------------------------------------------------------------------------------------------------------
PostgreSQL 10.1 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-16), 64-bit
(1 row)
postgres=# select version();
version
---------------------------------------------------------------------------------------------------------
PostgreSQL 10.1 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-16), 64-bit
(1 row)
postgres=# select * from version();
version
---------------------------------------------------------------------------------------------------------
PostgreSQL 10.1 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-16), 64-bit
(1 row)
postgres=#
postgres=#
postgres=# CREATE OR REPLACE FUNCTION public.get_version1() RETURNS SETOF text AS
postgres-# $$
postgres$# BEGIN
postgres$# RETURN query
select version();
postgres$# END
postgres$# $$
postgres-# language plpgsql;
CREATE FUNCTION
postgres=# select get_version1();
get_version1
---------------------------------------------------------------------------------------------------------
PostgreSQL 10.1 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-16), 64-bit
(1 row)
postgres=# select * from get_version1();
get_version1
---------------------------------------------------------------------------------------------------------
PostgreSQL 10.1 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-16), 64-bit
(1 row)
postgres=#
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/27126919/viewspace-2284475/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 21.python函式(return)Python函式
- 子函式呼叫函式
- 函式呼叫棧函式
- 普通函式與函式模板呼叫規則函式
- 如何使用函式指標呼叫類中的函式和普通函式函式指標
- PostgreSQL:視窗函式SQL函式
- 普通函式與函式模板呼叫規則2函式
- 外部函式的呼叫函式
- gdb 如何呼叫函式?函式
- 核心函式 系統呼叫 系統命令 庫函式函式
- PostgreSQL DBA(73) - dump函式SQL函式
- vue在一個函式中呼叫另外一個函式Vue函式
- .Net7 CLR的呼叫函式和編譯函式函式編譯
- httprunner yml 呼叫外部函式HTTP函式
- C程式函式呼叫&系統呼叫C程式函式
- 遞迴匿名函式手動實現 http_build_query 系統函式遞迴函式HTTPUI
- 深入認識 http_build_query 函式HTTPUI函式
- JavaScript裡的函式JavaScript函式
- 第 8 節:函式-函式巢狀呼叫與返回值函式巢狀
- JavaScript 之有趣的函式(函式宣告、呼叫、預解析、作用域)JavaScript函式
- MySQL函式大全(字串函式,數學函式,日期函式,系統級函式,聚合函式)MySql函式字串
- PostgreSQL>視窗函式的用法SQL函式
- PostgreSQL 查詢替換函式SQL函式
- PostgreSQL 函式獲取表DDLSQL函式
- PostgreSQL的 SPI_介面函式SQL函式
- PostgreSQL:字元——型別及函式SQL字元型別函式
- 為什麼 Go 裡值為 nil 可以呼叫函式?Go函式
- C++建構函式和解構函式呼叫虛擬函式時使用靜態聯編C++函式
- python中id()函式、zip()函式、map()函式、lamda函式Python函式
- Python 擴充之特殊函式(lambda 函式,map 函式,filter 函式,reduce 函式)Python函式Filter
- 函式呼叫與空間分配函式
- 函式呼叫棧的問題函式
- 函式棧幀(呼叫過程)函式
- 虛擬函式的呼叫原理函式
- vue跨頁面呼叫函式Vue函式
- MySQL 儲存函式及呼叫MySql儲存函式
- zip-zip(子函式呼叫)函式
- C語言函式呼叫棧C語言函式