云数据库 GaussDB-游标循环:示例

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

示例

 1 2 3 4 5 6 7 8 9101112131415161718192021222324252627282930313233343536373839
BEGINFOR ROW_TRANS IN         SELECT first_name FROM hr.staffs     LOOP         DBE_OUTPUT.PRINT_LINE (ROW_TRANS.first_name );    END LOOP;END;/--创建表CREATE TABLE integerTable1( A INTEGER) DISTRIBUTE BY hash(A);CREATE TABLE integerTable2( B INTEGER) DISTRIBUTE BY hash(B);INSERT INTO integerTable2 VALUES(2);--多游标共享游标属性的标量DECLARE   CURSOR C1 IS SELECT A FROM integerTable1;--声明游标   CURSOR C2 IS SELECT B FROM integerTable2;   PI_A INTEGER;   PI_B INTEGER;BEGIN   OPEN C1;--打开游标   OPEN C2;   FETCH C1 INTO PI_A; ----  C1%FOUND 和 C2%FOUND 值为 FALSE   FETCH C2 INTO PI_B; ----  C1%FOUND 和 C2%FOUND 的值都为 TRUE   --判断游标状态   IF C1%FOUND THEN       IF C2%FOUND THEN         DBE_OUTPUT.PRINT_LINE('Dual cursor share paremeter.');      END IF;   END IF;   CLOSE C1;--关闭游标   CLOSE C2;END;/--删除临时表DROP TABLE integerTable1;DROP TABLE integerTable2;
support.huaweicloud.com/devg-opengauss/opengauss_devg_0701.html