一、什么是存储过程
先简单看几个简单的存储过程,熟悉一下存储过程的格式套路
create or replace procedure myDemo01asbegindbms_output.put_line('我是菜鸟起飞');end;
create or replace procedure:关键字用来创建或覆盖一个原有的存储过程。
myDemo01:自定义的存储过程的名字。
as:关键字。
begin:关键字。
dbms_output.put_line('我是菜鸟起飞'):输出内容。
end:关键字。
第一个存储过程的调用(三种方式调用):
①声明declare关键字进行调用
declarebeginmyDemo01;end;
beginmyDemo01; --在此处也可使用myDemo01();完成存储过程的调用end;
call myDemo01();--call 存储过程名可完成调用,注意括号不能少
2、第二个存储过程:变量声明,赋值
create or replace procedure myDemo02asname varchar(10);--声明变量,注意varchar需要指定长度age int;beginname:='菜鸟起飞';--变量赋值age:=18;dbms_output.put_line('name='||name||', age='||age);--通过||符号达到连接字符串的功能end;
create or replace procedure myDemo03(name in varchar,age in int)asbegindbms_output.put_line('name='||name||', age='||age);end;
beginmyDemo03('菜鸟起飞',18);end;
create or replace procedure myDemo04(name in varchar,age in int)asbegindbms_output.put_line('name='||name||', age='||age);end;
declarename varchar(10);age int;beginname:='菜鸟起飞';age:=18;myDemo04(name=>name,age=>18);--此时不能myDemo04(name=>name,18),不能完成调用。end;
create or replace procedure myDemo05(name out varchar,age in int)asbegindbms_output.put_line('age='||age);select 'xiaoming' into name from dual;end;
declarename varchar(10);age int;beginmyDemo05(name=>name,age=>10);dbms_output.put_line('name='||name);end;
6、第六个存储过程:异常问题,执行结果见下图
create or replace procedure mydemo0006asage int;beginage:=10/0;dbms_output.put_line(age);exception when others thendbms_output.put_line('error');end;
存储过程的调用:
beginmydemo0006();end;
参考链接:https://www.cnblogs.com/dc-earl/articles/9260111.html
文章转载自软件实施干货分享,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




