inceptor游标使用及优化
inceptor简介
Transwarp Inceptor是星环科技推出的用于数据仓库和交互式分析的大数据平台软件,它基于Hadoop和Spark技术平台打造,加上自主开发的创新功能组件,有效的解决了企业级大数据数据处理和分析的各种技术难题,帮助企业快速的构建和推广数据业务。
模块-oracle PLSQL方言
基础知识
常量,变量,%type属性类型,%rowtype属性类型等的声明,以及赋值方式及规范
数据类型
数据类型可分为标量类型和复合类型。其中标量类型主要有string,int,double等Inceptor所支持的所有数据类型。复合类型主要有Records,Collections,Cursors
创建PL/SQL语句块
包括匿名块,过程和函数
流程控制语句
IF,LOOP,WHILE,FOR,EXIT WHEN,CONTINUE,GOTO
PL/SQL存储过程
可分为带参数和不带参数的过程
PL/SQL函数
PL/SQL函数可以单独调用,也可以在过程和SQL语句中调用
Records
Records中分量的名字和类型可以自定义,也可以基于表中字段的名字和类型来定义,此外还可以利用%rowtype属性快速定义一个Records变量
Collections
collections,即集合元素,主要可分为VARRAY,NESTED TABLE,Associative arrays三种形式。
Cursors
Inceptor中游标主要分为静态游标和动态游标,其中静态游标可分为显式游标和隐式游标;动态游标可分为强类型动态游标和弱类型动态游标
与SQL的交互
本节中,我们分别介绍PL/SQL中的过程,函数,游标,以及BULK COLLECT方法与SQL的交互
Packages
本节中主要介绍包头(Packages specification)和包体(Packages body)的创建方法,以及Packages的使用案例
异常
支持的系统预定义异常
NO_DATA_FOUND, TOO_MANY_ROWS, CURSOR_ALREADY_OPEN, ROWTYPE_MISMATCH, SUBSCRIPT_BEYOND_COUNT, SUBSCRIPT_OUTSIDE_LIMIT, COLLECTION_IS_NULL, INVALID_CURSOR, 此外Inceptor也支持用户自定义异常
不支持的系统预定义异常
INVALID_NUMBER, VALUE_ERROR, ZERO_DIVIDE, DUP_VAL_ON_INDEX, CASE_NOT_FOUND, ACCESS_INTO_NULL, SELF_IS_NULL, SYS_INVALID_ROWID, NOT_LOGGED_ON, LOGIN_DENIED, TIMEOUT_ON_RESOURCE, STORAGE_ERROR, PROGRAM_ERROR
预定义函数/过程/包
sqlcode(void)
sqlerrm(void)
get_columns(string,nestedtable)
raise_application_error(int,s