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中實(shí)現(xiàn)數(shù)據(jù)實(shí)時(shí)監(jiān)控和預(yù)警的步驟詳解
在 PostgreSQL 中實(shí)現(xiàn)數(shù)據(jù)的實(shí)時(shí)監(jiān)控和預(yù)警是確保數(shù)據(jù)庫(kù)性能和數(shù)據(jù)完整性的關(guān)鍵任務(wù),以下將詳細(xì)討論如何實(shí)現(xiàn)此目標(biāo),并提供相應(yīng)的解決方案和具體示例,需要的朋友可以參考下2024-07-07
postgresql 導(dǎo)入數(shù)據(jù)庫(kù)表并重設(shè)自增屬性的操作
這篇文章主要介紹了postgresql 導(dǎo)入數(shù)據(jù)庫(kù)表并重設(shè)自增屬性的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-01-01
用PostgreSQL數(shù)據(jù)庫(kù)做地理位置app應(yīng)用
項(xiàng)目中用到了postgreSQL中的earthdistance()函數(shù)功能計(jì)算地球上兩點(diǎn)之間的距離,中文的資料太少了,我找到了一篇 英文的、講的很好的文章,特此翻譯,希望能夠幫助到以后用到earthdistance的同學(xué)2014-03-03
PostgreSQL 默認(rèn)權(quán)限查看方式
這篇文章主要介紹了PostgreSQL 默認(rèn)權(quán)限查看方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-01-01
Postgresql在mybatis中報(bào)錯(cuò):操作符不存在:character varying == unknown的問(wèn)題
這篇文章主要介紹了Postgresql在mybatis中報(bào)錯(cuò): 操作符不存在 character varying == unknown的問(wèn)題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-01-01
PostgreSQL標(biāo)準(zhǔn)建表語(yǔ)句分享
這篇文章主要介紹了PostgreSQL標(biāo)準(zhǔn)建表語(yǔ)句分享,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-12-12
postgresql數(shù)據(jù)庫(kù)執(zhí)行計(jì)劃圖文詳解
了解PostgreSQL執(zhí)行計(jì)劃對(duì)于程序員來(lái)說(shuō)是一項(xiàng)關(guān)鍵技能,執(zhí)行計(jì)劃是我們優(yōu)化查詢,驗(yàn)證我們的優(yōu)化查詢是否確實(shí)按照我們期望的方式運(yùn)行的重要方式,這篇文章主要給大家介紹了關(guān)于postgresql數(shù)據(jù)庫(kù)執(zhí)行計(jì)劃的相關(guān)資料,需要的朋友可以參考下2024-01-01
PostgreSQL分區(qū)表(partitioning)應(yīng)用實(shí)例詳解
這篇文章主要為大家詳細(xì)介紹了PostgreSQL分區(qū)表(partitioning)應(yīng)用實(shí)例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-11-11

