存储过程与功能
存储过程和功能是两种类型的编程块。他们两个都必须有呼叫名称。这些调用名称用于在另一个编程块中呼叫它们,例如过程功能和软件包或SQL查询。这两种对象类型都接受参数并执行这些对象背后的任务。这是创建存储过程的语法(在oracle中)
创建或替换过程程序名称(参数)
作为
开始
陈述;
例外
异常处理
结尾;
这是创建函数(在Oracle)的语法,
创建或替换函数函数_name(参数)
返回return_datatype
作为
开始
陈述;
返回return_value/varible;
例外;
异常处理;
结尾;
存储程序
如上所述,存储的过程命名为编程块。他们根据过程背后的逻辑接受参数作为用户输入和过程,并给出结果(或执行特定操作)。这些参数可以进入,外部和输入类型。可变声明,可变分配,控制语句,循环,SQL查询和其他功能/过程/软件包可以在过程中。
功能
函数也是命名的编程块,必须使用返回语句返回值,并且在返回值之前,其正文也执行一些操作(根据给定的逻辑)。功能还接受要运行的参数。可以在查询中调用函数。当在选择查询中调用函数时,它适用于选择查询结果集的每一行。Oracle功能有几类。他们是,
- 单行函数(返回查询的每一行的单个结果)
单行功能有子类别。
- 数字函数(例如:abs,sin,cos)
- 角色函数(例如:concat,initcap)
- 日期时间函数(例如:last_day,next_day)
- 转换功能(例如:to_char,to_date)
- 收集功能(例如:基数,设置)
- 聚合功能(基于一组行返回一行。例如:AVG,SUM,MAX)
- 分析功能
- 对象参考功能
- 模型功能
- 用户定义的功能
功能和存储过程之间有什么区别? •所有功能必须使用返回语句返回值。存储过程不使用返回语句返回值。一个过程中的返回语句将将其控件返回到呼叫程序。OUT参数可用于从存储过程中返回值。 •可以在查询中调用功能,但是在查询中无法使用存储的过程。 •必须包括返回数据类型才能创建一个函数,但是在存储过程DDL中却没有。 |
发表评论