六、Oracle 存储过程
一.存储过程
1语法:
create procedure 名字
is|as
声明变量
begin
代码块
end;
2.执行存储过程
打开命令窗口,输入:exec 过程名字
3.打开输出命令:set serveroutput on
打开这个命令,控制台才能够接受输出
4.存储过程语法中给变量赋值
变量名:=值;
select 字段 into 变量 from 表名 注意:查询出来的值必须只有一条才能赋值成功
5.存储过程的参数
类型:in:表示输入型参数
out:表示输出型参数
in out:即是输入也是输出
案例:
输入输出型参数
create or replace procedure getStu(stu_id in varchar2,stu_name out varchar2,stu_sex in out varchar2) is begin select student_name,student_sex into stu_name,stu_sex from student_info where student_id=stu_id; end; 调用输出型参数的存储过程: declare myname varchar2(40); sex varchar2(40); begin sex:='男'; getstu('1',myname,sex); dbms_output.put_line(myname); end;
案例:
create or replace procedure my_pro as myname varchar2(40); num_ number; begin myname:='hello world'; select score_grade into num_ from score_info where score_id=1; Dbms_Output.put_line(myname); Dbms_Output.put_line(num_); end;
作业:
写一个存储过程,实现两个数的相加功能,用到in out类型参数来实现