postgresql儲存過程輸出引數

2021-09-24 11:44:33 字數 1015 閱讀 1826

postgresql不區分儲存過程和函式,即這兩個是乙個東西。儲存過程通常用於比較複雜的操作中。

建立儲存過程時

create (or replace) function   儲存過程名稱
這個or replace是如果存在同名的儲存過程則替換,如果是第一次建立這個儲存過程的話可以不加or replace

儲存過程是可以傳入和傳出引數的。

create function (arg1 int,out arg2 int,out arg3 int) as $$

begin

中間是操作過程

end;

$$ language plpgsql;

這其中第乙個引數arg1就是要輸入的引數,後面arg2,arg3都是要輸出的引數。可以有多個,且傳出引數不需要宣告直接可以用變數arg2和arg3的,不需要儲存過程returns。

下面例子是postgresql中執行的,從repertory表中提取資料bookname和price並輸出

下面是檢驗儲存過程,可以看到輸出。

但是這樣的輸出是在乙個**裡,我們想要以表形式輸出怎麼辦呢?

下面是返回表

可以看到其實是一樣的,即output和return效果是一樣的。

Postgresql儲存過程

pg的儲存過程與oracle的稍微有點不一樣,它的結構是這樣的 語法 create or replace function function name arg1,arg2.returns return type as body declare 變數宣告 begin 函式體end body langu...

postgresql之儲存過程

特性 儲存過程舉例 1 引數列表只包含函式輸入引數,不包含輸出引數 儲存過程定義 create or replace function add a integer,b numeric returns numeric as select a b language sql 呼叫方法 select add...

PostgreSQL儲存過程(函式)

create or replace function function name 引數逗號隔開 returns 返回值型別 as body declare 宣告變數 變數名 變數型別 變數值 例如 name char 20 su begin 函式體 包括dml語句 特別注意 如果有返回值,要省略最後...