函数(学习笔记)
函数(存储函数) 也是一种较为方便的存储结构,用户定义函数可以被SQL语句或者PL/SQL直接调,函数和过程最大的区别在于,函数可以有返回值, 而过程只能依靠OUT 或者IN OUT返回数据 定义函数语法: CREATE [OR REPLACE] FUNCTION 函数([参数,...]]) RETURN 返回值类型 [AUTHID [DEFINER | CURRENT_USER]] AS || IS [PRAGMA AUTONOMOUS_TRANSACTION;] 声明部分; BEGIN 程序部分; [RETURN 返回值;] EXCEPTION 导常处理; END [函数名]; 参数中定义参数模式表示过程的数据的接收操作,一般分为IN,OUT,IN OUT 3类 CREATE [OR REPLACE]:表示创建或者替换过程,如果过程存在则替换,如果不存在就创建一个新的 AUTHID子句定义了一个过程的所有者权限,DEFINER(默认)表示定义者权限执行,或者用CURRENT_USER覆盖程序的默认行为,变为使用者权限 PRAGMA AUTONOMOUS_TRANSACTION:表示过程启动一个自治事务,自治事务可以让主事挂起,在过程中执行完SQL后,由用户处理提交或者回滚自治事务, 然后恢复主事务 和过程的语法基本相似,唯一不同的是在定义函数时候需要有返回值类型(RETURN