1.PostgreSQL 存儲過程的自學自建

所謂【存儲過程】就是為了完成特定功能的SQL 語句集,存儲在數據庫中保存成【函數】,以方便使用。

在工作中有一個需求:

原數據項有一個字段叫做“geo”的保存若干xy坐標對的一維數組,類型為text[],數組長度length,每一條數據text[]的length的范圍在128-1520,
現在想對這些xy坐標點進行抽稀,只取下標為1,9,17,25...也就是說下標n能被8除余數為1的數組成員。這樣可以保持取的數據間隔相等,且相對位置不變。

create function selectpoint(geos text[])
returns text[] as
$$
declare
newgeo text[];
arr text[];
begin
arr := selectpoint.geos;
length := array_length(arr,1);
for i in 1..length loop
if i%8= 1 then
arr_append(newgeo,arr[i]);
end if;
end loop;
return newgeo;
end
$$
language plpgsql;

函數引用:
select selectpoint(t.geo) as selectpoints from geoarray t
===============
具體學習過程及參考試錯過程+實際數據+資料后面填坑。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容