婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > PostgreSQL數據庫中匿名塊的寫法實例

PostgreSQL數據庫中匿名塊的寫法實例

熱門標簽:400電話申請客服 廣州電銷機器人公司招聘 天津開發區地圖標注app 江蘇400電話辦理官方 移動外呼系統模擬題 濟南外呼網絡電話線路 地圖標注要花多少錢 電銷機器人能補救房產中介嗎 電話機器人怎么換人工座席

看代碼吧~

test=# DO $$DECLARE i record;
test$# BEGIN
test$# FOR i IN 1..10
test$# LOOP 
test$# execute 'select loop_insert(1)';
test$# END LOOP;
test$# END$$;
DO
test=# 

看匿名塊的執行效果:

test=# select count(*) from lineitem;
 count 
-------
 7000
(1 row) 
test=# select count(*) from lineitem;
 count 
-------
 17000 ------------->>>>匿名塊插入了10000條記錄.
(1 row) 
test=# 

補充:PostgreSql 的PL/pgSQL 塊結構 (在pgAdmin查詢工具中如何執行語句塊)

PostgreSql 的PL/pgSQL 塊結構

本文我們學習PL/pgSQL結構塊,包括如何寫結構塊和執行結構塊。

什么是結構塊

PL/pgSQL是結構塊語言,因此,PL/pgSQL函數或過程是通過結構塊進行組織。完整結構塊的語法如下:

[ label>> ]
[ DECLARE
 declarations ]
BEGIN
 statements;
 ...
END [ label ];

詳細說明如下:

塊有兩部分組成:聲明部分和主體部分。聲明部分是可選的,而主體部分是必須的。塊在end關鍵字后面使用分號(;)表示結束。

塊可以有個可選的標簽在開始和結尾處。如果你想在塊主體中使用exit語句或限定塊中聲明的變量名稱時,需要使用塊標簽。

主體部分是編寫代碼的地方,每條語句需要使用分號結束。

PL/pgSQL 塊結構示例

下面示例描述一個簡單塊結構,一般稱為匿名塊:

DO $$
first_block>>
DECLARE
 counter integer := 0;
BEGIN
 counter := counter + 1;
 RAISE NOTICE 'The current value of counter is %', counter;
END first_block $$;

運行結果:

NOTICE: The current value of counter is 1 

從pgAdmin中執行塊,點擊圖示按鈕:

注意DO語句不屬于塊結構。它用于執行匿名塊。PostgreSQL 在9.0版本中引入DO語句。

在聲明部分定義變量counter并設置為0.

在主體部分,是counter值加1,通過RAISE NOTICE語句輸出其值。

first_block 標簽僅為了演示需要,本例中沒有啥意義。

** 什么是雙 ($$) 符號?**

($$) 符號 是單引號(')的替代符號。開發PL/pgSQL 時,無論是函數或過程,必須把主體部分放在一個字符串中。因此必須對主體部分的單引號進行轉義表示:

DO
'first_block>>
DECLARE
 counter integer := 0;
BEGIN 
 
 counter := counter + 1;
 RAISE NOTICE ''The current value of counter is %'', counter; 
END first_block';

使用($$) 符號可以避免引號問題。也可以在$之間使用標識,如之間使用標識,如之間使用標識,如function$ , procedureprocedureprocedure.

PL/pgSQL 子結構塊

PL/pgSQL可以一個塊在另一個塊的主體中。一個塊嵌入在另一個塊中稱為子塊,包含子塊的塊稱為外部塊。

子塊用于組織語句,這樣大塊能被分為更小和更多邏輯子塊。子塊的變量的名稱可以與外部塊變量名稱同名,雖然這在實踐中不建議。當在子塊中聲明一個與外部變量同名的變量,外部變量在子塊中被隱藏。如果需要訪問外部塊的變量,可以使用塊標簽作為變量的限定符,如下面示例:

DO $$ 
outer_block>>
DECLARE
 counter integer := 0;
BEGIN 
 counter := counter + 1;
 RAISE NOTICE 'The current value of counter is %', counter;
 
 DECLARE 
 counter integer := 0;
 BEGIN 
 counter := counter + 10;
 RAISE NOTICE 'The current value of counter in the subblock is %', counter;
 RAISE NOTICE 'The current value of counter in the outer block is %', outer_block.counter;
 END;
 
 RAISE NOTICE 'The current value of counter in the outer block is %', counter;

執行結果如下:

NOTICE: The current value of counter is 1
NOTICE: The current value of counter in the subblock is 10
NOTICE: The current value of counter in the outer block is 1
NOTICE: The current value of counter in the outer block is 1

首先,在外部塊中聲明變量counter。

接著在子塊中也聲明了一個同名變量。

在進入子塊之前,變量的值為1。在子塊中,我們給變量counter值加10,然后打印出來。注意,這個改變僅影響子塊中counter變量。

然后,我們通過標簽限定符引用外部變量:outer_block.counter

最后,我們打印外部塊變量,其值保持不變。

總結

本文我們學習PL/pgSQL塊結構,通過DO語句可以執行匿名塊。

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。

您可能感興趣的文章:
  • postgreSQL數據庫默認用戶postgres常用命令分享
  • postgresql修改完端口后直接psql連接數據庫報錯的解決
  • postgresql數據庫安裝部署搭建主從節點的詳細過程(業務庫)
  • 如何獲取PostgreSQL數據庫中的JSON值
  • postgreSQL數據庫的監控及數據維護操作
  • SpringBoot連接使用PostgreSql數據庫的方法
  • PostgreSql 導入導出sql文件格式的表數據實例
  • PostgreSQL upsert(插入更新)數據的操作詳解
  • 使用postgresql 模擬批量數據插入的案例

標簽:杭州 寶雞 海西 辛集 溫州 昭通 濮陽 榆林

巨人網絡通訊聲明:本文標題《PostgreSQL數據庫中匿名塊的寫法實例》,本文關鍵詞  PostgreSQL,數據庫,中,匿名,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《PostgreSQL數據庫中匿名塊的寫法實例》相關的同類信息!
  • 本頁收集關于PostgreSQL數據庫中匿名塊的寫法實例的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 吉首市| 名山县| 西贡区| 安远县| 获嘉县| 新和县| 太仓市| 临潭县| 米易县| 青浦区| 革吉县| 即墨市| 文登市| 湟源县| 南乐县| 新沂市| 喀什市| 赤水市| 威信县| 同江市| 崇明县| 尖扎县| 鲁甸县| 泸水县| 苍溪县| 信宜市| 余江县| 石河子市| 政和县| 来安县| 安庆市| 阿瓦提县| 安溪县| 藁城市| 得荣县| 遂宁市| 长武县| 张掖市| 榕江县| 赤水市| 新昌县|