存储过程和函数 oracle「建议收藏」

存储过程和函数 oracle「建议收藏」declare begin dbms_output.put_line('Hello World'); end; declare i number := 10; begin if …

存储过程和函数 oracle

declare
begin
  dbms_output.put_line(“Hello World”);

end;

declare
  i number := 10;
begin
  if i > 5 then
    dbms_output.put_line(“OK”);
  end if;

end;

–loop循环

declare
  i number := 1;
begin
  loop
    dbms_output.put_line(“OK”);
  
    exit when i=10;
      i:=i+1;
  end loop;

end;

–while 循环
declare 
   i number :=1;
begin
   while i<10 loop
     dbms_output.put_line(“我说了算”);
     i:=i+1;
     end loop;
end;

— 1-100之间所有的偶数

declare
  i number := 1;
begin
  while i <= 100 loop
    if mod(i, 2) = 0 then
      dbms_output.put_line(i);
    end if;
    i := i + 1;
  end loop;
end;

–智能循环 for循环 

declare
begin
  for i in 1 .. 10 loop
    dbms_output.put_line(i);
  end loop;

end;

declare
   x number:=1;
  y number:=1;
  begin
    while x<=10 loop
      dbms_output.put_line(“—–>”||x);
      y:=1;
      while y<=5 loop
        if x=7 and y=3 then
          exit;
          end if;
        dbms_output.put_line(y);
        y:=y+1;
        end loop;
        x :=x+1; 
      end loop;
end;

–存储过程定义的

create procedure getMax(x number,y number)
is

  begin
   if x>y then
     dbms_output.put_line(“X:”||x);
     else
          dbms_output.put_line(“Y:”||y); 
          end if;
end;

–调用存储过程
在PL/SQL中的SQL window中可以执行的
call getMax(2,5);
begin
  getMax(7,3);
end;
在PL/SQL中的SQL window中不可以执行的
execute getMax(4,7)
exec getMax(8,5);

create or replace procedure getMax(x number :=1,y number:=2)
is

  begin
   if x>y then
     dbms_output.put_line(“X:”||x);
     else
          dbms_output.put_line(“Y:”||y); 
          end if;
end;

call getMax();

–存储过程的参数

–编写一个存储过程,比较第一个参数和第二个参数,将最大的值存储在第三个参数中

create or replace procedure getMax(x number,y number,z out number)
is

  begin
   if x>y then
    z:=x;
     else
      z:=y;
          end if;
end;

declare 
          da number;
begin
  getMax(110,3,da);
       dbms_output.put_line(da);
end;

–存储过程类似java中的方法,但不是,因为没有返回值,
–函数就是java中的方法,具有返回值的。 两者的区别就是有无返回值

create or replace function getCountMax(x in out,y in out number) return number
is
begin 
  if x>y then
    dbms_output.put_line(x);
    y:=x+y;
    return x;
  else
    dbms_output.put_line(y);
    y:=x+y;
    return y-x;
    end if;
end;

select getCountMax(5,7) from dual;

 

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

(0)
上一篇 2023-02-09 16:30
下一篇 2023-02-09

相关推荐

  • 容器与k8s_docker仓库搭建

    容器与k8s_docker仓库搭建作者:苏厚镇 青云科技数据库研发工程师 目前从事 RadonDB ClickHouse 相关工作,热衷于研究数据库内核。 ClickHouse[1] 是一款用于联机分析(OLAP)的列式数据库管理系统

    2023-04-20
    115
  • Oracle静默安装模板

    Oracle静默安装模板
    oracle安装环境配置前提下 1 在安装文件/database/response/*有三个配置文件模板 [oracle@oracledb response…

    2023-04-06
    105
  • es~日期类型需要注意的[亲测有效]

    es~日期类型需要注意的[亲测有效]es的Date类型支持的格式是有限的,默认是一个时间戳,可读性不是很好,需要解析之后才能使用,而它默认支持的格式只有如下几种,如果你在java里格式化的字符串不属于以下几种,将会出错。 UTC时间 /

    2023-05-01
    96
  • Python字典:高效存储和快速查找数据的利器

    Python字典:高效存储和快速查找数据的利器Python中的字典是一种无序的数据集合,它是由键-值对组成的,其中键必须是唯一的。Python中的字典通常比列表或元组更加高效,因为它们支持O(1)的查找(平均情况下),而列表和元组则需要O(n)的时间复杂度进行查找。

    2024-03-11
    28
  • Python起始参数:完整指南

    Python起始参数:完整指南Python脚本通常可以在运行时动态地获取参数。命令行参数是由程序在运行时传递的字段,以决定程序的运行方式。Python的sys模块提供了一个名为sys.argv的列表,其中包含了传递到Python脚本的所有参数。其中,sys.argv[0]表示脚本名称,sys.argv[1]表示第一个参数,以此类推。下面是一个示例:

    2024-03-27
    24
  • HBase Filter 过滤器之 Comparator 原理及源码学习「建议收藏」

    HBase Filter 过滤器之 Comparator 原理及源码学习「建议收藏」前言: 上篇文章 "HBase Filter 过滤器概述" 对HBase过滤器的组成及其家谱进行简单介绍,本篇文章主要对HBase过滤器之比较器作一个补充介绍,也算是HBase F

    2023-02-21
    91
  • Python Mongo应用实例:创建数据库并插入数据

    Python Mongo应用实例:创建数据库并插入数据MongoDB是一个高性能、开源、无模式的文档型数据库,可以存储非常复杂的数据结构,支持丰富的查询语言和索引功能。MongoDB以BSON(Binary JSON)格式来存储数据,可以存储各种类型的数据,如文本、图片、视频等。

    2024-01-23
    60
  • 修改mysql密码[亲测有效]

    修改mysql密码[亲测有效] mysql密码修改 使用xampp的小伙伴,修改密码后肯定不能登录localhost了,所以要打开config.inc.php 这个文件并找到如下部分: /* Authentication …

    2023-03-23
    114

发表回复

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