• Oracle知识点Day05


    🩷🩷🩷PLSQL

    一、为什么要使用PLSQL

    ①复杂的业务逻辑,可以使用编程语言实现,SQL无法实现

    ②PLSQL也可以实现复杂的业务逻辑

    【为什么不直接使用编程语言,而使用PLSQL】

    答:PLSQL会比直接使用编程语言更快,优化速度

    二、定义

    是Oracle对SQL语言的过程化扩展,可以在SQL里面进行编程

    三、语法结构

    [declare ①-- 声明变量

    变量名,变量类型(代码写完,以;为结尾)

    ]

    【PL代码块】

    begin

    ②-- 代码逻辑 [exception --异常处理 ]

    end;

    四、PLSQL语法

    := 是赋值

    = 是判断

    || 拼接

    dbms_output.put_line((字符串类型)) 输出一行(自带默认换行 )

    dbms_output.put_line()输出一行  

    五、select方法插入值

    通过select into 方法赋值变量 ——可以获取数据库里面的值

    • 先在declear里面定义变量 然后begin里面用select 插入数据

    • select 列名 into 变量名 from 表名 where 条件

    • 注意select后的字段数量和变量数量要保持一致(类型)

    • select into 这种方法只能获取一行数据

    六、引用变量

    定义:

    从属于一个表 表里面的某个字段的类型进行引用

    格式:

    变量名 表名.字段名%type

    七、行变量

    定义:

    表里面的行类型进行引用

    格式:

    • 存储的是一行数据

    • 变量名 表名%type

    • 在declear中进行表引用 然后在begin中查询表中一行数据,从而就可以用表名.字段使用

    八、异常处理

    为什么使用异常处理???

    • 程序出现bug需要进行调整

    • 不希望程序直接崩溃

    • 给出bug原因

    语法格式:exception -- 处理 未找到数据异常

    no_data_found when then

    when no_data_found then

    dbms_output.put_line('数据找不到')

    when too_many_rows then

    dbms_output.put_line('数据太多')

    when others then

    dbms_output.put_line('异常:'||sqlcode||sqlerrm)

    九、if语法

    • if 条件 then 业务逻辑 elsif 条件 then 业务逻辑 else 业务逻辑 end if

    十、循环

    1、无条件循环

    • 在begin中———— loop --循环语句 exit when 语句 end loop;

    2、while循环

    • while 条件 loop 业务逻辑 end loop;

    3、for循环

    • for 变量 in 起始值..终止值 loop 业务逻辑 end loop;

    十一、游标

    作用:

    • 记录数据获取的位置

    • 存储每一行数据

    语法:

    • 创建游标

      • cursor 游标名称 is SQL语句;

    • 使用游标语法

      • open 游标名称

    • loop 业务逻辑

    • fetch 游标名称 into 变量 exit when 游标名称%notfound 业务逻辑

    • end loop;

    • 关闭游标 close 游标名称

    十二、索引

    作用:

    • 加快查询速度

    • 索引是一个特殊的文件(字典的目录)

    语法:

    • create index 索引名 on 字段

  • 相关阅读:
    linux下硬盘分区和格式化和挂载以及启动自动挂载
    GTK使用开源二维码生成库libqrencode生成二维码
    java运行linux命令时报错
    1740. 找到⼆叉树中的距离
    C++——智能指针
    go语言第三方包导入
    长连接和短连接有什么区别?
    Linux Day17 生产者消费者
    字节给我狠狠上了一课:危机来的时候你连准备时间都没有~
    2023华为杯研究生数学建模F题思路分析
  • 原文地址:https://blog.csdn.net/DrKYQ/article/details/138089480