Oracle的存储过程和函数区别
1、都可以使用out参数返回多个值,一般原则是有多个返回值使用过程;如果只有一个返回值,使用函数
2、过程调用本身就是一条pl/sql语句,而函数只能作为表达式的一部分进行调用以获得user_objects表的object_name为例,由于只返回一个字段,所以使用Oracle函数,第一种方式返回标量数据类型,第二种方式返回游标类型。标量只包含一个值,而游标可以代表一个查询结果集。
一、返回标量的函数
1、在Oracle中定义函数
create function getObjectsName(obj_type varchar2)
return varchar2
is
o_name user_objects.OBJECT_NAME%type;
o_names long;
cursor objs_cursor(o_type varchar2)
is
select object_name from user_objects where object_type=o_type and rownum