Oracle数据库中的存储过程之一(Hello world)

1.PLSQL分为3部分:声明部分、可执行部分、异常处理部分。

DECLARE
     --声明变量、游标
  INTEGER;
BEGIN
   -- 可执行语句、

  -- 异常处理

END;

其中,DECLARE部分是用来声明变量的,如果没有变量,可以不使用DECLARE;

2.打印语句

DBMS_OUTPUT.put_line('Hello World');

3.变量

变量名 变量类型;

v_name.  varchar(20);

3.1普通变量

--声明赋值:
v_name varchar(20) :='章三';

--直接赋值
v_sal :=1500;

--语句赋值
select 'qingmu' into v_addr from dual;

--打印输出
dbms_output.put_line('姓名:'||v_name||',薪水:'||v_sal||',地址:'||v_addr||);

3.2声明变量

declare
--姓名
v_name emp.ename%type;

--薪水
v_sal emp.sql%type

BEGIN
 select name,sal into v_name,v_sql from amp where empno='7839';
END;

3.3记录型变量

接收表中的一行记录。

DECLare
v_emp amp%rowtype;

begin
select * into v_emp from amp where empno='7839';

4.if分支

DECLARE
v_count Integer;

begin

select count(1) into v_count from amp;

if v_count>20 then
 dbms_output.put_line('20');
else if v_cout>30 then
dbms_output.put_line('30');
else
dbms_output.put_line('40');
end if;
end;

5. 循环

declare
 v_num INTEGER :=1;
begin
loop
 exit when v_num>10;
DBMS_OUTPUT.PUT_LINE(v_num);
v_num :=v_num+1;

end loop;

end;

6.游标

用于临时存储一个查询返回的多行数据,(类似于java和jdbc连接返回的result集),通过游标可以逐行访问处理该届国际的数据。
游标的使用方式:声明--》打开--〉读取--》关闭

declare
 cursor c_emp is select ename,sal from amp;
--声明变量接收游标中的数据
v_ename amp.ename%type
v_sal emp.sal%type

begin
--打开游标
OPEN c_emp;

--遍历游标
LOOP

--获取游标中的数据
fetch c_emp into v_ename,v_sal;

dbms_output.put_line(v_name||'----'||v_sal);
--退出游标
exit when c_emp%notfound;

end loop;
--关闭游标
close c_emp;

7.存储过程

将plsql的业务处理过程存储起来进行复用,这些存储起来的过程叫做存储过程。
存储过程的作用:
1.在开发过程中,为了一个特定的业务功能,会向数据库进行多次数据连接和关闭是很耗资源的,需要对数据库进行多次IO数据库,性能比较低。
2.ORACLE官方给的建议:能够让数据库操作的不要放在程序中,在数据库中实现基本上不会出现错误,在程序中操作可能会存在错误。

7.1无参数存储过程

create or replace procedure p_hello is
--声明变量
begin
dbms_output.put_line('hello world');
end;

执行存储过程

exec p_hello;

7.2有参数存储过程

create or replace procedure p_hello is
--声明变量
begin
dbms_output.put_line('hello world');
end;
posted @ 2021-10-25 23:42  King-DA  阅读(75)  评论(0)    收藏  举报