;
dbms_output.put_line(‘student_id’||studenta);
exit when student_list%notfound;
dbms_output.put_line(‘已经到文件尾!’);
end loop;
close student_list;
end;
5、 存储过程是什么,为什么比一般语句更快,写一个简单的存储过程。
定义:过程(procedure)是一个PL/SQL语句块,它存储在数据字典中并可被应用程序调用,可以使用过程存储数据库中频繁使用的应用逻辑。(使用存储过程的一个好处是能够实施数据的安全性)
原因:因为存储过程是预编译的,所以比一般的语句更快。
例子1:
create or replace procedure print_current_time as
curtime varchar2(20);
begin
select to_char(sysdate,’yyyy/mm/dd hh24:mi:ss’)
into curtime
from dual;
dbms_output.put_line(‘当前时间是:’||chr(9)||curtime);
end print_current_time;
例子2:
create or replace procedure print_parameter
(
p_Parameter in varchar2 default null
)
as
begin
if(p_Parameter is null) then
dbms_output.put_line(‘你没有输入参数’);
else
dbms_output.put_line(‘你输入的参数是:’||chr(9)||p_Parameter);
end if;
end print_parameter;