学习笔记

函数和存储过程区别定义

 

函数是命名了的、存储在数据库中的PL/SQL程序块。函数接受零个或多个输入参数,有一个返回值,返回值的数据类型在创建函数时定义。定义函数的语法如下:
FUNCTION name [(parameter[,parameter,...])] RETURN datatypes IS

 

 [local declarations]

 

BEGIN

 

execute statements

 

 [EXCEPTION exception handlers]

 

END [name]

 

 

存储过程是一个PL/SQL程序块,接受零个或多个参数作为输入(INPUT)或输出(OUTPUT)、或既作输入又作输出(INOUT),与函数不同,存储过程没有返回值,存储过程不能由SQL语句直接使用,只能通过EXECUT命令或PL/SQL程序块内部调用,定义存储过程的语法如下:
PROCEDURE name [(parameter[,parameter,...])] IS

 

[local declarations]

 

 BEGIN

 

execute statements


[EXCEPTION exception handlers ]

 

 END [name]

 

 

包(package)定义

 

包其实就是被组合在一起的相关对象的集合,当包中任何函数或存储过程被调用,包就被加载入内存中,包中的任何函数或存储过程的子程序访问速度将大大加快。包由两个部分组成:规范和包主体(body),规范描述变量、常量、游标、和子程序,包体完全定义子程序和游标。

 

 

触发器(trigger)

 

触发器与一个表或数据库事件联系在一起的,当一个触发器事件发生时,定义在表上的触发器被触发。

你可能感兴趣的:(sql)