【PostgreSQL】官网学习使用 PL/pgSQL编写造数据脚本
生活随笔
收集整理的這篇文章主要介紹了
【PostgreSQL】官网学习使用 PL/pgSQL编写造数据脚本
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 1. 前言
- 2. 成果
- 3. 創建與使用類似 Java map 的數據結構
- 3.1 聲明數組
- 3.2 數組賦值
- 3.3 數組遍歷
- 4. 如何打印調試信息 (可以用來生成回滾語句)
- 5. 后記
1. 前言
前段時間需要大量造數據,寫Java程序做造數據的活感覺太笨重了,遂下班后學習了 PL/pgSQL 寫腳本。公司用的是11.5的版本。按照 官網的Manual ,把下面的問題搞清楚,就能實現大部分的需求了,有其他經驗的時候再來補充。
- 如何聲明、修改、刪除一個函數
- 如何在函數中聲明與使用局部變量
- 如何創建與使用類似 Java map 的數據結構
- 如何使用循環等其他控制語句
- 如何打印調試信息 (可以用來生成回滾語句)
2. 成果
- 放個極簡單的批量新增腳本
3. 創建與使用類似 Java map 的數據結構
創建高級的數據結構變量,官網這一塊是缺失的,遂使用二維數組來實現需求。
PS: 數組相關的內容官網有很多,這里只記錄與實現需求有關的用法。
3.1 聲明數組
- 聲明的時候可以不額外區分一維、二維數組
_configList varchar[][] 和 _configList varchar[] 是一樣的
3.2 數組賦值
- 聲明為varchar后,賦值時也要是varchar類型。 _configList varchar[][] := (ARRAY[['ccontent1', '1'], ['content2', '2']]);
3.3 數組遍歷
- 二維數組的遍歷,官網提供語法:-- _configList 由外界傳入, 值得一提的是 FOREACH SLICE IN ARRAY 都是關鍵字 FOREACH _config SLICE 1 IN ARRAY (_configList) LOOP_content := _config[1];_amount := _config[2]; END LOOP;
4. 如何打印調試信息 (可以用來生成回滾語句)
官網 Manual 講的足夠詳細了。這里有啟發的地方在于生成回滾語句。之前記錄過 一些小技巧。
5. 后記
后續看官網發現 PostgreSQL 能夠直接集成 Python,集成后可以直接用Python的語法寫腳本。如:
CREATE FUNCTION pymax (a integer, b integer)RETURNS integer AS $$if a > b:return areturn b $$ LANGUAGE plpythonu;又多了個動機學Python了~
總結
以上是生活随笔為你收集整理的【PostgreSQL】官网学习使用 PL/pgSQL编写造数据脚本的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 识别图片转文字怎么弄?推荐两种实用工具
- 下一篇: web of science 数据库都包