create or replace procedure mypro1
as
begin
dbms_output.put_line(sysdate);
end mypro1;
-- 执行无参的存储过程
--execute mypro1 在sql*plus中使用该命令
--在developer中这样执行
begin
mypro1;
end;
2-- 创建一个可以通过输入参数向emp表中插入数据的存储过程
create or replace procedure mypro2
(--指定输入参数 注意参数名不要和列名相同 参数的类型不需要指定长度
p_no in number,
p_name in varchar2,
p_sal in number,
p_deptno in number
)
as
begin
insert into scott.emp(empno,ename,sal,deptno) values(p_no,p_name,p_sal,p_deptno);
end mypro2;
-- 执行该过程
begin
mypro2(7800,'张三',3000,20);
end;
3-- 创建一个根据输入的部门编号查询部门人数的存储过程
create or replace procedure mypro3
(
in_deptno in number :=10,
out_num out number
)
as
begin
select count(empno) into out_num from scott.emp where deptno = in_deptno;
end mypro3;
-- 执行该过程
declare
out_value number ;
begin
mypro3(out_num=>out_value);
dbms_output.put_line('存储过程输出的值为:'|| out_value);
end;