暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

oracle存储过程简单入门(一)

软件实施干货分享 2020-06-27
1537

一、什么是存储过程

oracle存储过程是通过PL/SQL语言创建并保存在数据库中的程序单元,其中包含一条或多条sql语句,是在数据库中执行的某种带特定功能的程序可以有效的提升程序的执行效率,这些过程、函数、程序包、触发器统统被称为存储过程。
二、存储过程简单入门

先简单看几个简单的存储过程,熟悉一下存储过程的格式套路


1、第一个存储过程让存储过程输出打印“我是菜鸟起飞”
create or replace procedure myDemo01
as
begin
dbms_output.put_line('我是菜鸟起飞');
end;
复制
上一段代码的解释:

create or replace procedure:关键字用来创建或覆盖一个原有的存储过程。

myDemo01:自定义的存储过程的名字。
as:关键字。

begin:关键字。
dbms_output.put_line('我是菜鸟起飞'):输出内容。
end:关键字。

第一个存储过程的调用(三种方式调用):


①声明declare关键字进行调用

declare
begin
myDemo01;
end;
复制
②不声明declare关键字进行调用
begin
myDemo01; --在此处也可使用myDemo01();完成存储过程的调用
end;
复制

③call命令调用
call myDemo01();--call 存储过程名可完成调用,注意括号不能少
复制

2、第二个存储过程:变量声明,赋值
create or replace procedure myDemo02
as
name varchar(10);--声明变量,注意varchar需要指定长度
age int;
begin
  name:='菜鸟起飞';--变量赋值
age:=18;
dbms_output.put_line('name='||name||', age='||age);--通过||符号达到连接字符串的功能
end;
复制

3、第三个存储过程:带有参数的存储过程
create or replace procedure myDemo03(name in varchar,age in int)
as
begin
dbms_output.put_line('name='||name||', age='||age);
end;
复制
存储过程的调用:
begin
  myDemo03('菜鸟起飞',18);
end;
复制
4、第四个存储过程:实参形参问题
create or replace procedure myDemo04(name in varchar,age in int)
as
begin
dbms_output.put_line('name='||name||', age='||age);
end;
复制
存储过程的调用:
declare
name varchar(10);
age int;
begin
  name:='菜鸟起飞';
age:=18;
  myDemo04(name=>name,age=>18);--此时不能myDemo04(name=>name,18),不能完成调用。
end;
复制
注意:在调用存储过程时,=>前面的变量为存储过程的形参且必须于存储过程中定义的一致,而=>后的参数为实际参数。当然也可以不定义变量保存实参
5、第五个存储过程:in,out参数问题
create or replace procedure myDemo05(name out varchar,age in int)
as
begin
dbms_output.put_line('age='||age);
select 'xiaoming' into name from dual;
end;
复制
存储过程的调用:
declare
name varchar(10);
age int;
begin
myDemo05(name=>name,age=>10);
dbms_output.put_line('name='||name);
end;
复制

6、第六个存储过程:异常问题,执行结果见下图

create or replace procedure mydemo0006
as
age int;
begin
age:=10/0;
dbms_output.put_line(age);
exception when others then
dbms_output.put_line('error');
end;
复制

存储过程的调用:

begin
mydemo0006();
end;
复制

参考链接:https://www.cnblogs.com/dc-earl/articles/9260111.html

文章转载自软件实施干货分享,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论