01. PLSQL 语法(变量,if,loop,cursor,exception)「建议收藏」

01. PLSQL 语法(变量,if,loop,cursor,exception)「建议收藏」1. 语法 在数据库服务器上保存的打断可执行方法,供其他开发人员调用 可以有效的减少数据库端和服务端的数据交互,提高效率,降低带宽消耗 语法格式: declare — 定义部分,保存变量,引用型变…

01. PLSQL 语法(变量,if,loop,cursor,exception)

1. 语法

  • 在数据库服务器上保存的打断可执行方法,供其他开发人员调用

  • 可以有效的减少数据库端和服务端的数据交互,提高效率,降低带宽消耗

  • 语法格式:

    declare -- 定义部分,保存变量,引用型变量,记录型异常
    
    begin -- 逻辑处理部分
    
    exception -- 需要捕获异常是写上
    
    end; -- 结束
    

    代码100分

2. 定义变量

定义描述
constant常量
表名%rowtype记录型变量
表名.列名%type引用型变量
:=给变量赋予默认值
into把查询出来的数据进行赋值
  • 实例
代码100分declare	-- 定义变量	i number := 1;	-- 定义常量	pi constant number := 2;	-- 定义记录型变量/记录一行数据	-- 变量名 表名%rowtype;	v_emp emp%rowtype;	-- 定义引用型变量	-- 变量名.列明%type	pname emp.ename%type;	begin	select * into pemp from emp;end;

3. if判断

  • 语法:

    /*
    if判断:
    if 条件表达式 then
    
    elsif 条件表达式 then
    
    else 
    
    end if;
    */
    
    -- 实例:
    declare
    	age number := 18;
    begin
    	if age = 17 then
    	dbms_output.put_line("我是17");
            elsif age = 18 then
            dbms_output.put_line("我是18");
            	else
            	dbms_output.put_line("我是??");
    	end if;
    end;
    

4. loop循环

  • 语法:

    代码100分/*
    语法一: 相当于while循环
    while 条件表达式 loop
    
    end loop;
    */
    -- 实例
    declare
      i number := 0;
    begin
      while i < 10 loop
        i := i + 1;
        dbms_output.put_line(i);
      end loop;
    end;
    
    /*
    语法二:
    loop
    	exit when 退出循环条件
    
    end loop;
    */
    -- 实例:
    declare
      i number := 0;
    begin
      loop
        i := i + 1;
        exit when i > 10;
        dbms_output.put_line(i);
      end loop;
    end;
    
    /*
    语法三:
    1..10: 也可以是查询出来的结果集
    for 变量 in 1..10 loop;
    
    end loop
    */
    -- 实例:
    declare
      i number := 0;
    begin
      for i in 1..10 loop
        dbms_output.put_line(i);
      end loop;
    end;
    

5. cursor游标

  • 是一个私有的SQL工作区,分为隐式游标和显示游标,我们通常声明的是显示游标

  • 用来操作结果的,相当于java中的迭代器

  • 语法:

    /*
    开发步骤:
    	1. 声明游标: cursor 游标名 is 查询结果集
    	2. 打开游标: open 游标名
    	3. 从游标中取出数据: fetch 游标名 into 变量名
    			游标名%found: 找到数据
    			游标名%notfound: 没有找到数据
        4. 关闭游标
    */
    
    declare
      emp_rows emp%rowtype;
      -- 1.
      cursor rows is select * from emp;
    begin
      -- 2.
      open rows;
      	-- 2.1
        loop
          -- 3.
          fetch rows into emp_rows;
          -- 3.1
          exit when rows%notfound;
          dbms_output.put_line(emp_rows.ename);
        -- 3.2
        end loop;
      -- 4.
      close rows;
    end;
    

6. exception异常

类型 描述
no_data_found 找不到数据
too_many_rows 匹配到多个字符
zero_divide 零除
value_error 算数或转换异常
timeout_on_resource 在等待资源时发生超时
others 最大的异常/相当于java中的exception
  • 语法:

    /*
    yvfa:
    declare
    
    begin
    
    exception
    	when 异常类型 then
    	处理
    end;
    */
    -- 实例:
    declare
      num number := 1;
    begin
      num := num/0 ;
    exception
      when zero_divide then
        dbms_output.put_line("除零异常");
    end;
    
    -- 自定义异常:
    declare
        no_date exception;
    begin 
        raise no_date;
    
    exception
        when no_date then
          dbms_output.put_line("自定义异常");
    end;
    

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

(0)
上一篇 2023-02-21 16:00
下一篇 2023-02-21 17:00

相关推荐

  • 使用Python脚本循环遍历目录中的文件

    使用Python脚本循环遍历目录中的文件在许多数据处理和分析任务中,需要对大量的文件进行处理。自动化脚本可以减轻手动任务的负担,其中最常见的脚本之一就是循环遍历一个目录中的所有文件。

    2024-03-25
    79
  • 数据库的维护「终于解决」

    数据库的维护「终于解决」事务 数据库并发控制的对象 事务是数据库的逻辑工作单位 序列中的操作要么全做,要么全不做 特性; 原子性 一个事务中的所有操作是不可分割的,要么全部执行,要么 全部不执行,这就是事务的原子性。 一致性

    2023-03-04
    152
  • 理解Python中的ndarray

    理解Python中的ndarray随着数据分析和机器学习的普及,Python的numpy模块中的ndarray逐渐成为Python中最常用的数据结构之一。Python的ndarray是一种多维数组对象,可以在Python中实现大规模数据和矩阵计算。

    2024-05-04
    65
  • Python工程师:从import开始的编程生活

    Python工程师:从import开始的编程生活Python是一个功能强大的编程语言,由于其简洁的语法和丰富的开源库,在多个领域都有广泛的应用。下面我们将介绍Python在以下四个领域的应用:

    2024-07-29
    29
  • Python Mod函数的使用

    Python Mod函数的使用Mod又称求模运算,是计算机编程中常用的一种运算。它可以获取两个数相除后的余数,主要用于判断一个数是偶数还是奇数。

    2024-06-01
    65
  • MongoDB学习(一) — 入门安装「建议收藏」

    MongoDB学习(一) — 入门安装「建议收藏」1、简介 MongoDB 是由 C++语言编写的,是一个基于分布式文件储存的开源数据库系统。 在高负载的情况下,添加更多的节点,可以保证服务器性能。 MongoDB 旨在为WEB应用提供可扩展的高性…

    2023-03-10
    147
  • rds mysql区别_mysql中decimal

    rds mysql区别_mysql中decimalRDBMS即关系数据库管理系统(Relational Database Management System)的特点: 数据以表格的形式出现 每行为各种记录名称 每列为记录名称所对应的数据域 许多的行…

    2023-02-06
    164
  • Python信号处理

    Python信号处理Python信号处理是指在Linux操作系统上,Python程序与操作系统之间进行通信的一种方式。当操作系统中发生某些特定事件时,操作系统会发出信号信号来通知Python程序,在接收到这些信号后,Python程序可以对信号进行响应,从而实现特定功能。

    2024-08-09
    32

发表回复

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