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;
本文来自博客园,作者:King-DA,转载请注明原文链接:https://www.cnblogs.com/qingmuchuanqi48/articles/15463853.html

浙公网安备 33010602011771号