看完了两天了,却因为各种事情到现在才有时间来写博客,方便日后查看了……
PL/SQL的子程序有两种形式,即过程和函数,过程与函数的区别在于函数有返回值,可以向调用者返回执行结果,而过程没有返回值。
一、存储过程
存储过程是一段存储在数据库中执行某功能的程序。是将一些固定的操作集中起来由Oracle数据库服务器来完成,以实现某个任务,是Oracle开发者在数据转换或查询报表时经常使用的方式。
存储过程可以把需要执行的多条sql语句封装到一个独立单元,用户只需调用这个单元就可以达到目的。
存储过程可以接收和输出参数,返回执行存储过程的状态值,还可以嵌套调用。
(一)、无参数存储过程(一般在数据转换/数据改,查,删 时使用)
1、创建无参存储过程
create or replace procedure 存储过程名称 as
begin
存储过程定义(sql语句)
end 存储过程名;
可以通过数据字典(视图)user_objects,user_source/all_source(所有存储过程),查看存储过程(脚本)从视图中查询过程时,需要把铝管名称大写。
select object_name,object_type,status from user_objects where object_name=upper('pro_print'); -----pro-print 是存储过程名
2、查看存储过程中具体的错误提示:
select * from user_errors where name=upper('pro-print');
3、调用和执行存储过程pro-print;
a、begin
pro-print;
end;
b、execute pro-print;
(二)、有参数的存储过程
1、参数的三种类型:
in:输入类型(只进不出)
out:输出类型(只出不进)
in out:输入输出类型
2、参数的定义形式:
参数名(必须) 参数传递模式(in、out、in out 默认的传递模式为in ,调用者向过程
PL/SQL的子程序有两种形式,即过程和函数,过程与函数的区别在于函数有返回值,可以向调用者返回执行结果,而过程没有返回值。
一、存储过程
存储过程是一段存储在数据库中执行某功能的程序。是将一些固定的操作集中起来由Oracle数据库服务器来完成,以实现某个任务,是Oracle开发者在数据转换或查询报表时经常使用的方式。
存储过程可以把需要执行的多条sql语句封装到一个独立单元,用户只需调用这个单元就可以达到目的。
存储过程可以接收和输出参数,返回执行存储过程的状态值,还可以嵌套调用。
(一)、无参数存储过程(一般在数据转换/数据改,查,删 时使用)
1、创建无参存储过程
create or replace procedure 存储过程名称 as
begin
存储过程定义(sql语句)
end 存储过程名;
可以通过数据字典(视图)user_objects,user_source/all_source(所有存储过程),查看存储过程(脚本)从视图中查询过程时,需要把铝管名称大写。
select object_name,object_type,status from user_objects where object_name=upper('pro_print'); -----pro-print 是存储过程名
2、查看存储过程中具体的错误提示:
select * from user_errors where name=upper('pro-print');
3、调用和执行存储过程pro-print;
a、begin
pro-print;
end;
b、execute pro-print;
(二)、有参数的存储过程
1、参数的三种类型:
in:输入类型(只进不出)
out:输出类型(只出不进)
in out:输入输出类型
2、参数的定义形式:
参数名(必须) 参数传递模式(in、out、in out 默认的传递模式为in ,调用者向过程