1,存储过程Procedure是一个PL/SQL程序块,是一组完成特定功能的SQL语句集。2,接受另个或多个参数作为输入(INPUT)或输出(OUTPUT),或既作输入又作输出(INOUT)。
3,与函数不同,存储过程没有返回值。4,存储过程不能由SQL语句直接使用,只能通过execut命令或PL/SQL程序块调用。
语法:PROCEDURE name [(parameter1 [mode1] datatype1, parameter2 [mode2] datatype2 [default], . . .)] IS [local declarations] BEGIN execute statements [EXCEPTION exception handlers] END [name]
实例:rem *******************************************
rem **过程/Procedure
rem *******************************************
create or replace procedure
hand_train_insert_dept(
p_deptno number,
p_dname varchar2,
p_loc varchar2,
p_count out number) is
begin
insert into dept
(deptno,
dname,
loc)
values(
p_deptno,
p_dname,
p_loc);
select count(*) into p_count from dept;
end hand_train_insert_dept;declare
v_number number;
begin
hand_train_insert_dept(
p_deptno => 54,
p_dname => '4部门过程测试',
p_loc => '上海张江',
p_count => v_number);
dbms_output.put_line(v_number);
end; |