云数据库 GAUSSDB-循环语句:FOR_LOOP查询语句

时间:2024-11-02 18:49:41

FOR_LOOP查询语句

语法图

for_loop_query::=语句如图7所示。

图7 for_loop_query::=

label declaration ::=语句如如图8所示。

图8 label declaration ::=

变量target会自动定义,类型和query的查询结果的类型一致,并且只在此循环中有效。target的取值就是query的查询结果。

示例

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
--循环输出查询结果。
gaussdb=# CREATE OR REPLACE PROCEDURE proc_for_loop_query()
AS 
    record VARCHAR2(50);
BEGIN 
    FOR record IN SELECT spcname FROM pg_tablespace LOOP 
    dbe_output.print_line(record); 
    END LOOP; 
END; 
/
CREATE PROCEDURE

--调用存储过程
gaussdb=# CALL proc_for_loop_query();
pg_default
pg_global
 proc_for_loop_query 
---------------------

(1 row)

--删除存储过程
gaussdb=# DROP PROCEDURE proc_for_loop_query;
DROP PROCEDURE
support.huaweicloud.com/distributed-devg-v8-gaussdb/gaussdb-12-0788.html