云数据库 GaussDB-FETCH:示例

时间:2023-11-01 16:22:17

示例

 1 2 3 4 5 6 7 8 910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
--SELECT语句,用一个游标读取一个表。开始一个事务。gaussdb=# START TRANSACTION;--建立一个名为cursor1的游标。gaussdb=# CURSOR cursor1 FOR SELECT * FROM tpcds.customer_address ORDER BY 1;--抓取头3行到游标cursor1里。gaussdb=# FETCH FORWARD 3 FROM cursor1; ca_address_sk |  ca_address_id   | ca_street_number |   ca_street_name   | ca_street_type  | ca_suite_number |     ca_city     |    ca_county    | ca_state |   ca_zip   |  ca_country   | ca_gmt_offset |   ca_location_type   ---------------+------------------+------------------+--------------------+-----------------+-----------------+-----------------+-----------------+----------+------------+---------------+---------------+----------------------             1 | AAAAAAAABAAAAAAA | 18               | Jackson            | Parkway         | Suite 280       | Fairfield       | Maricopa County | AZ       | 86192      | United States |         -7.00 | condo                            2 | AAAAAAAACAAAAAAA | 362              | Washington 6th     | RD              | Suite 80        | Fairview        | Taos County     | NM       | 85709      | United States |         -7.00 | condo                            3 | AAAAAAAADAAAAAAA | 585              | Dogwood Washington | Circle          | Suite Q         | Pleasant Valley | York County     | PA       | 12477      | United States |         -5.00 | single family       (3 rows)--关闭游标并提交事务。gaussdb=# CLOSE cursor1;--结束一个事务。gaussdb=# END;--VALUES子句,用一个游标读取VALUES子句中的内容。开始一个事务。gaussdb=# START TRANSACTION;--建立一个名为cursor2的游标。gaussdb=# CURSOR cursor2 FOR VALUES(1,2),(0,3) ORDER BY 1;--抓取头2行到游标cursor2里。gaussdb=# FETCH FORWARD 2 FROM cursor2;column1 | column2---------+---------0 |       31 |       2(2 rows)--关闭游标并提交事务。gaussdb=# CLOSE cursor2;--结束一个事务。gaussdb=# END;--WITH HOLD游标的使用,开启事务。gaussdb=# START TRANSACTION;--创建一个with hold游标。gaussdb=# DECLARE cursor1 CURSOR WITH HOLD FOR SELECT * FROM tpcds.customer_address ORDER BY 1;--抓取头2行到游标cursor1里。gaussdb=# FETCH FORWARD 2 FROM cursor1; ca_address_sk |  ca_address_id   | ca_street_number |   ca_street_name   | ca_street_type  | ca_suite_number |     ca_city     |    ca_county    | ca_state |   ca_zip   |  ca_country   | ca_gmt_offset |   ca_location_type   ---------------+------------------+------------------+--------------------+-----------------+-----------------+-----------------+-----------------+----------+------------+---------------+---------------+----------------------             1 | AAAAAAAABAAAAAAA | 18               | Jackson            | Parkway         | Suite 280       | Fairfield       | Maricopa County | AZ       | 86192      | United States |         -7.00 | condo                            2 | AAAAAAAACAAAAAAA | 362              | Washington 6th     | RD              | Suite 80        | Fairview        | Taos County     | NM       | 85709      | United States |         -7.00 | condo               (2 rows)--结束事务。gaussdb=# END;--抓取下一行到游标cursor1里。gaussdb=# FETCH FORWARD 1 FROM cursor1; ca_address_sk |  ca_address_id   | ca_street_number |   ca_street_name   | ca_street_type  | ca_suite_number |     ca_city     |    ca_county    | ca_state |   ca_zip   |  ca_country   | ca_gmt_offset |   ca_location_type   ---------------+------------------+------------------+--------------------+-----------------+-----------------+-----------------+-----------------+----------+------------+---------------+---------------+----------------------             3 | AAAAAAAADAAAAAAA | 585              | Dogwood Washington | Circle          | Suite Q         | Pleasant Valley | York County     | PA       | 12477      | United States |         -5.00 | single family       (1 row)--关闭游标。gaussdb=# CLOSE cursor1;
support.huaweicloud.com/distributed-devg-v3-opengauss/gaussdb-12-0603.html