LightDB24.1 隐式游标FOR LOOP支持WITH子句

背景介绍

LightDB在适配Oracle语法模式下,目前不支持在PL/SQL游标隐式声明中直接嵌套使用WITH子句。在Oracle数据库中,开发者可以在定义和打开游标时,将WITH子句作为查询的一部分,用于临时存储和处理中间结果。
为了兼容Oracle数据库的使用,LightDB从24.1版本开始,在plorasql中支持在游标隐式声明中嵌套使用WITH子句。

使用示例

CREATE TABLE employees (employee_id NUMBER PRIMARY KEY, first_name VARCHAR2(50));
INSERT INTO employees VALUES (1, 'John');
INSERT INTO employees VALUES (2, 'Jane');
INSERT INTO employees VALUES (3, 'Bob');

BEGIN
  FOR emp_rec IN (WITH employeetemp AS
                    ( SELECT employee_id AS eid, first_name AS fname FROM employees
                    ) SELECT eid,fname FROM employeetemp
                ) loop
    DBMS_OUTPUT.PUT_LINE('Employee ID: ' || emp_rec.eid || ', Name: ' || emp_rec.fname);
  END LOOP;
END;
/

你可能感兴趣的:(数据库)