61.1. 版本发布 13.8-24.3

61.1.1. Oracle 兼容
61.1.2. pl/sql 增强
61.1.3. MySQL 兼容
61.1.4. Lightdb-x 新功能

版本发布 date: xxxx-xx-xx

61.1.1. Oracle 兼容

  • 增加对 Oracle 的 [DBA/ALL/USER]_SCHEDULER_JOBS 和 [DBA/ALL/USER]_SCHEDULER_RUNNING_JOBS 视图的支持,目前仅支持部分字段。

    详细信息请参阅 SCHEDULER_JOBSSCHEDULER_RUNNING_JOBS

  • 部分支持 Oracle 的 DBMS_SCHEDULER 包。

    支持 DBMS_SCHEDULER.CREATE_JOB, DBMS_SCHEDULER.DROP_JOB, DBMS_SCHEDULER.ENABLE, DBMS_SCHEDULER.DISABLE, DBMS_SCHEDULER.EVALUATE_CALENDAR_STRING, DBMS_SCHEDULER.SET_ATTRIBUTE。

    详细信息请参阅 DBMS_SCHEDULER

  • Plorasql 支持语句级的 SYSDATE。

61.1.2. pl/sql 增强

  • plorasql支持多个EXCEPTION WHEN处理分支。用户在plorasql中可以预定义多个异常处理块,当程序执行过程中遇到了执行异常,执行会进入对应的异常处理模块。样例如下:

    create table t_uniq(a int primary key);
    
    CREATE OR REPLACE PROCEDURE pro100 is
    	a int:=0;
    BEGIN  
    	insert into t_uniq values(1);
    	insert into t_uniq values(1);
    	a:=10/0;
    EXCEPTION
    	when unique_violation then
    		dbms_output.put_line('unique_violation');
    	when division_by_zero then
    		dbms_output.put_line('division_by_zero');
    	when others then
    		dbms_output.put_line(sqlcode||' '||sqlerrm);
    END;  
    /
    
    call pro100;
    unique_violation
    CALL
                
  • 支持基于recordvarray. 样例如下:

    CREATE OR REPLACE PROCEDURE pro100 is
    	type test_rc_type is record(a int,b varchar,d date);
    	type va_type is varray(3) of test_rc_type;
    	v1 va_type := va_type();
    BEGIN  
    	v1(0).a = 11+88;
    	v1(1).b = 'ab'||'cd';
    	v1(2).d = to_date('2022-01-01','yyyy-mm-dd') + interval '1 day';
    	
    	dbms_output.put_line(v1(0).a || ',' || v1(1).b || ',' || v1(2).d);
    END;  
    /
    
    call pro100;
    99,abcd,2022-01-02 00:00:00
    CALL
                  

61.1.3. MySQL 兼容

  • 本版本没有新增功能。

61.1.4. Lightdb-x 新功能