postgresql 循環(huán)函數(shù)的簡(jiǎn)單實(shí)現(xiàn)操作
我就廢話不多說(shuō)了,大家還是直接看代碼吧~
create or replace function aa1(a1 integer[],a2 bigint) returns void AS $$ declare ii integer; declare num integer; begin II:=1; num = 1; FOR ii IN 1..a2 LOOP UPDATE student SET id=a1[num] WHERE cd_id = ii; num = num +1; if (num>6) then num = 1; end if; end loop; end; $$ LANGUAGE plpgsql; select aa1(array[1,4,5,6,7,8],6742)
補(bǔ)充:數(shù)據(jù)庫(kù)之postgreSql庫(kù)的存儲(chǔ)過(guò)程和循環(huán)總結(jié)
postgreSql庫(kù)中存儲(chǔ)過(guò)程模板
CREATE OR REPLACE FUNCTION p_fx_*** ( OUT v_row INTEGER, OUT v_rote varchar(50), OUT v_log varchar(50)) AS $$ DECLARE BEGIN select count(*) into v_row from *插入表的名字*; v_rote := 'SUCCESS'; v_log := 'SUCCESS'; END $$ LANGUAGE plpgsql VOLATILE
postgreSql庫(kù)中循環(huán)書(shū)寫(xiě)的模板,以實(shí)際開(kāi)發(fā)中的sql為例
單層循環(huán)
do $$ declare ***:=***; begin while *** loop end loop; end $$;
declare --聲明變量,如果聲明了變量別忘了加分號(hào);
雙層循環(huán)
do $$ declare ***:=***; begin while *循環(huán)條件* loop for i in 1..12 loop raise notice '%',*變量名*; end loop; end loop; end $$;
raise notice '%',變量名;這是輸出語(yǔ)句類(lèi)似于Java中的print。
將循環(huán)放到存儲(chǔ)過(guò)程中
CREATE OR REPLACE FUNCTION p_fx_*** ( OUT v_row INTEGER, OUT v_rote varchar(50), OUT v_log varchar(50)) AS $$ DECLARE BEGIN while *循環(huán)條件* loop for i in 1..12 loop raise notice '%',*變量名*; end loop; end loop; select count(*) into v_row from *插入表的名字*; v_rote := 'SUCCESS'; v_log := 'SUCCESS'; END $$ LANGUAGE plpgsql VOLATILE
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。
相關(guān)文章
Postgresql開(kāi)啟SQL執(zhí)行語(yǔ)句收集過(guò)程
本文介紹如何修改PostgreSQL的配置文件來(lái)啟用SQL執(zhí)行語(yǔ)句的日志記錄,包括打開(kāi)配置文件、修改日志相關(guān)設(shè)置以及查看日志文件的方法,關(guān)鍵步驟包括刪除注釋符號(hào)、設(shè)定日志存儲(chǔ)路徑和文件名、選擇記錄的SQL語(yǔ)句類(lèi)型,此操作有助于數(shù)據(jù)庫(kù)管理和問(wèn)題調(diào)試2024-10-10postgreSQL數(shù)據(jù)庫(kù)的監(jiān)控及數(shù)據(jù)維護(hù)操作
這篇文章主要介紹了postgreSQL數(shù)據(jù)庫(kù)的監(jiān)控及數(shù)據(jù)維護(hù)操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-01-01postgresql 實(shí)現(xiàn)查詢(xún)某時(shí)間區(qū)間的所有日期案例
這篇文章主要介紹了postgresql 實(shí)現(xiàn)查詢(xún)某時(shí)間區(qū)間的所有日期案例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-01-01PostgreSql生產(chǎn)級(jí)別數(shù)據(jù)庫(kù)安裝要注意事項(xiàng)
這篇文章主要介紹了PostgreSql生產(chǎn)級(jí)別數(shù)據(jù)庫(kù)安裝要注意事項(xiàng),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-08-08postgresql 除法保留小數(shù)位的實(shí)例
這篇文章主要介紹了postgresql 除法保留小數(shù)位的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-01-01PostgreSQL ROW_NUMBER() OVER()的用法說(shuō)明
這篇文章主要介紹了PostgreSQL ROW_NUMBER() OVER()的用法說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-02-02Postgresql?REGEXP開(kāi)頭的正則函數(shù)用法圖文詳解
正則表達(dá)式是指一個(gè)用來(lái)描述或者匹配一系列符合某個(gè)句法規(guī)則的字符串的單個(gè)字符串,下面這篇文章主要給大家介紹了關(guān)于Postgresql?REGEXP開(kāi)頭的正則函數(shù)用法的相關(guān)資料,需要的朋友可以參考下2024-02-02解決postgresql無(wú)法遠(yuǎn)程訪問(wèn)的情況
這篇文章主要介紹了解決postgresql無(wú)法遠(yuǎn)程訪問(wèn)的情況,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-01-01Windows版?PostgreSQL?利用?pg_upgrade?進(jìn)行大版升級(jí)操作方法
最近?PostgreSQL?15?版本正式發(fā)布了,新版本的各種特性和好處本文就不展開(kāi)介紹了,主要介紹一下?Windows?環(huán)境下?PostgreSQL?大版本升級(jí)的方法,我們現(xiàn)在的幾個(gè)數(shù)據(jù)庫(kù)都是運(yùn)行在?Windows服務(wù)器的?PostgreSQL?14,需要的朋友可以參考下2022-10-10