Oracle存储过程详细教程「建议收藏」

Oracle存储过程详细教程「建议收藏」Oracle存储过程详细教程点关注不迷路,欢迎再访! 目录Oracle存储过程详细教程一.创建存储过程语法二.输出案例三.调用存储过程3.1声明declare关键字3.2不声明declare关键字3.3call四.带有参数的存储过程五.in,out参数问题六.异常写法七.循环7.1while循环7.2for循环八.基本正删改查一.创建存储过程语法createorrep…

大家好,又见面了,我是你们的朋友全栈君。

Oracle存储过程详细教程

   点关注不迷路,欢迎再访!		

精简博客内容,尽量已行业术语来分享。
努力做到对每一位认可自己的读者负责。
帮助别人的同时更是丰富自己的良机。

一 .创建存储过程语法

create or replace procedure 存储过程名
as
begin
  ----------------------------
end;
注:
   在存储过程(PROCEDURE)和函数(FUNCTION)中没有区别;
   在视图(VIEW)中只能用AS不能用IS;
   在游标(CURSOR)中只能用IS不能用AS。

二.输出案例

create or replace procedure myDemo01
as
begin
  dbms_output.put_line('hello word, my name is stored procedure');
end;

as:关键字。
begin:关键字。
dbms_output.put_line(‘hello word, my name is stored procedure’); 输出内容。
end;关键字。

三.调用存储过程

3.1 声明declare关键字

declare
begin
  myDemo01;
end;

3.2不声明declare关键字

begin
  myDemo01; --在此处也可使用myDemo01();完成存储过程的调用
end;

3.3call

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

执行的结果如下所示:
在这里插入图片描述

四.带有参数的存储过程

create or replace procedure myDemo02(name in varchar,age in int)
as
begin
  dbms_output.put_line('name='||name||', age='||age);
end;

注:在调用存储过程时,如果存储过程没有参数,调用时括号()可以不带。

五.in,out参数问题

create or replace procedure myDemo04(name out varchar,age in int)
as
begin
    dbms_output.put_line('age='||age);
    select 'ex_sunqi' into name from dual;
end;

declare
   name varchar(10);
   age int;
begin
   myDemo04(name=>name,age=>25);
   dbms_output.put_line('name='||name);
end;

注:in代表输入,out用于输出,参数默认类型是in类型。

执行的结果如下所示:
在这里插入图片描述

六.异常写法

create or replace procedure myDemo03
as
age int;
begin
  age:=1/0;
  dbms_output.put_line(age);
  --异常
  exception when others then
    dbms_output.put_line('error');
end;

call myDemo03();

执行的结果如下所示:
在这里插入图片描述

七.循环

7.1while 循环

create or replace procedure myDemo5
as
  n_count number := 0;
begin
  while n_count < 5 loop
    dbms_output.put_line(n_count);
    n_count := n_count + 1;
  end loop;
end;
 
begin
  myDemo5;
end;

执行的结果如下所示:
在这里插入图片描述

7.2for循环

create or replace procedure myDemo06
as
begin
 FOR USE in (select * from T_USER_INFO) loop
     if (USE.id<3) then
        dbms_output.put_line(USE.USER_NAME);
      end if;
  end loop;
end;

CALL myDemo06();

在这里插入图片描述
执行的结果如下所示:
在这里插入图片描述

八.基本正删改查

create or replace procedure mydemo07(ID in int, user_name in varchar,pssword in varchar, created_date in DATE,created_by IN varchar,UPDATED_date IN DATE,UPDATED_by IN  varchar,is_valid IN varchar)
as
begin
     insert into T_USER_INFO VALUES(ID,user_name,pssword,created_date,created_by,UPDATED_date,UPDATED_by,is_valid);
    --UPDATE  T_USER_INFO t SET t.USER_NAME='sunqi' WHERE t.ID=ID ;
    --DELETE  T_USER_INFO t WHERE t.ID=ID ; 
    commit; --提交
end;

begin
mydemo07(3,'ex_sunqi','666666',SYSDATE,'ex_sunqi',SYSDATE,'ex_sunqi','Y');
end;

执行的结果如下所示:
在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/160877.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • pageoffice生成离线license.lic

    pageoffice生成离线license.lic1、单位名称、联系人、联系电话按情况填写2、序列号:PageOfficeV4.0标准版试用序列号:IMTG6-BSXJ-JGZ6-3BIWMPageOfficeV4.0专业版试用序列号:C

    2022年7月3日
    53
  • mysql的root密码更改_navicat忘记root密码

    mysql的root密码更改_navicat忘记root密码方法1:用SETPASSWORD命令MySQL-urootmysql>SETPASSWORDFOR’root’@’localhost’=PASSWORD(‘newpass’);方法2:用mysqladminmysqladmin-urootpassword”newpass”如果root已经设置过密码,采用如下方法mysqladmin-urootpasswordoldpass”newpass”方法3:用UPDATE直接编辑user

    2022年8月13日
    3
  • tcping安装使用说明及对比telnet命令

    tcping安装使用说明及对比telnet命令下载tcping.exe放在然后就可以使用tcxpingwww.baidu.com空格80测试是否成功了tcping.exe下载地址,见我的资源————————–下面是telnet—————————-telnet使用方式cmd进入命令窗口,如想测试www.baidu….

    2022年6月23日
    22
  • idea2021激活码永久【中文破解版】

    (idea2021激活码永久)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.htmlS32PGH0SQB-eyJsa…

    2022年3月26日
    74
  • VMware Ubuntu 详尽版安装教程[通俗易懂]

    /**写在前边,本文纯属复制粘贴*/转载地址:http://blog.csdn.net/u013142781/article/details/50529030不是每一个程序员都必须玩过linux,只是博主觉得现在的很多服务器都是linux系统的,而自己属于那种前端也搞,后台也搞,对框架搭建也感兴趣,但是很多生产上的框架和工具都是安装在服务器上的,而且有不少大公司都要求…

    2022年4月15日
    46
  • py2exe怎么安装_py安装及开发环境设置

    py2exe怎么安装_py安装及开发环境设置一、简介py2exe是一个将python脚本转换成windows上的可独立执行的可执行程序(*.exe)的工具,这样,你就可以不用装python而在windows系统上运行这个可执行程序。py2exe已经被用于创建wxPython,Tkinter,Pmw,PyGTK,pygame,win32comclient和server,和其它的独立程序。py2exe是发布在开源许可证下的。目前只有py…

    2022年9月11日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号