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;

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

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • 怎么设置超链接网址css,css应该怎么设置超链接样式「建议收藏」

    怎么设置超链接网址css,css应该怎么设置超链接样式「建议收藏」css设置超链接样式的方法是,给超链接添加伪类,例如【a:visited{color:#00FF00;}】。【a:visited】表示用户已经访问过的链接。本文操作环境:windows10系统、css3、thinkpadt480电脑。如果我们要设置超链接的样式,其实是可以使用任何一个css属性的,比如颜色、字体、背景等等。但是如果你想设置特别的样式,就需要使用到伪类。下面我们一起来看下伪类。…

  • ipynb可以用pycharm_ipynb文件转换成py文件

    ipynb可以用pycharm_ipynb文件转换成py文件PyCharm中编写ipynb文件首先确认anaconda中安装了Jupyternotebook.如果是2019版,确保使用PyCharm专业版,CommunityEdition不包括Jupyter笔记本集成。另一种是在anaconda的cmd里面,输入jupyternotebook启动服务参考:PyCharm中编写ipynb文件…

  • pytest重试_连接重连失败是什么意思

    pytest重试_连接重连失败是什么意思安装:pip3installpytest-rerunfailures重新运行所有失败用例要重新运行所有测试失败的用例,请使用–reruns命令行选项,并指定要运行测试的最大次数:$py

  • 支付逻辑漏洞

    支付逻辑漏洞警告请勿使用本文提到的内容违反法律。本文不提供任何担保一、漏洞分类(一)支付过程中可直接修改数据包中的支付金额这种漏洞应该是支付漏洞中最常见的,主要针对支付宝等需要第三方支付的案例。开发人员往往会为了方便,直接在支付的关键步骤数据包中直接传递需要支付的金额。而这种金额后端没有做校验,传递过程中也没有做签名,导致可以随意篡改金额提交。只需要在支付过程中用抓包工具抓包发现有金额的参数修改成任意即可。(二)没有对购买数量进行限制这种漏洞应该是支…

  • SSO 单点登录_sso登陆

    SSO 单点登录_sso登陆单点登录(SingleSignOn),简称为SSO,是目前比较流行的企业业务整合的解决方案之一。SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。实现SSO的主要工具是Cookie

    2022年10月24日
  • 《FFmpeg从入门到精通》读书笔记(二)[通俗易懂]

    《FFmpeg从入门到精通》读书笔记(二)[通俗易懂]写在前面2019.06.18第三章知识点(未进行排版)第三章FFmpeg转封装一、MP4格式标准MP4文件由许多个Box与FullBox组成;每个Box由Header和Data两部分组成;FullBox是Box的扩展,其在Box结构的基础上,在Header中增加8位version标志和24为flags标志;Header包含了整个Box的长度的大小(size)和类型(ty…

发表回复

您的电子邮箱地址不会被公开。

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