postgresql規範儲存過程書寫簡要說明

2021-09-11 06:31:46 字數 1315 閱讀 2301

dml執行影響行數判斷語句:

get diagnostics count_=row_count;

if count_ =0 then

raise exception '%','更新失敗';

end if;

列印過程執行過程中的引數:

raise notice '%記錄數',count_;
捕獲異常的處理:

exception when others then get stacked diagnostics recode_message = message_text;

return jsonb_build_object('_recode',9999,'_message',recode_message);

乙個過程示例:

create or replace function rbc.pub_tojson(datajson_ character varying)

returns jsonb

language plpgsql

as $function$

declare rec record;

orgid_ varchar(50);

count_ integer;

recode_message varchar(500) default '';

begin

...........update/insert.........

**--update或者insert後判斷操作是否成功**

get diagnostics count_=row_count;

if count_ =0 then

raise exception '%','更新失敗';

end if;

**--獲取並列印執行中的引數值**

raise notice '%記錄數',count_;

--正常return

return jsonb_build_object('_recode',0,'_message','操作成功');

**--接著寫捕獲異常後,賦值異常資訊內容,並return**

exception when others then get stacked diagnostics recode_message = message_text;

return jsonb_build_object('_recode',9999,'_message',recode_message);

end;

$function$;

潤幹資料集呼叫postgresql儲存過程

postgresql 庫本身沒有儲存過程,是通過函式方式實現,潤幹呼叫該庫中儲存過程實際上是呼叫該庫的函式,使用方法如下 1 將資料庫型別更改為postgres 更改自動提交,由於postgresql庫要設定自動提交為false,所以將自動提交核取方塊的勾去掉。二 更改報表 由於postgresql...

潤幹資料集呼叫postgresql儲存過程

postgresql 庫本身沒有儲存過程,是通過函式方式實現,潤幹呼叫該庫中儲存過程實際上是呼叫該庫的函式,使用方法如下 1將資料庫型別更改為postgres 更改自動提交,由於postgresql庫要設定自動提交為false,所以將自動提交核取方塊的勾去掉。二 更改報表 由於postgresql中...

PostgreSQL 儲存json,jsonb型別

postgresql 字串隱式轉換json指令碼 隱式將varchar轉換為json create or replace function json in varchar varchar returns json as select json in 1 cstring language sql im...