关于plsql的总结(存储过程、游标、触发器)

1.什么是plsql?

        PL/SQL Developer是一个集成开发环境,专门开发面向Oracle数据库的应用。PL/SQL也是一种程序语言,叫做过程化SQL语言(Procedural Language/SQL)。PL/SQL是Oracle数据库对SQL语句的扩展。在普通SQL语句的使用上增加了编程语言的特点,所以PL/SQL把数据操作和查询语句组织在PL/SQL代码的过程性单元中,通过逻辑判断、循环等操作实现复杂的功能或者计算。PL/SQL 只有 Oracle 数据库有。 MySQL 目前不支持 PL/SQL 的,但支持Navicat Premium。

2.结构

    declare ··· begin ···end;

3.类型:

    char 、varchar2、number、date、timestamp

4.循环:

5.异常:

6.游标:

   隐式游标

  显示游标

  REF游标

7.过程:一般用于DML操作,只能通过参数返回结果

   create or replace procedure 过程名 (

      name number,

      age in number,

     res1 out varchar2,

     res2 in out varchar2

   )

  is 或 as

  声明本地变量

  begin

  ````

 end

8.方法:不能出现DML操作有显示的返回结果

Creais 或 aste or replace function 方法名( 形参·· ) return varchar2

is 或 as 

声明本地变量

begin

````

end

9.包:解决的为过程和方法存储不规则的问题

    create or replace package 包名

   is

       procedure 过程名(参数 );

       function 方法名(参数) return 返回值;

   ····

   end 包名;

10.触发器:写完就开始运行,等待触发

         (1)语句触发器

                    create or replace trigger 触发名

                           after

                           delete

                  on  表名

                  declare

                         ````

                 begin

                        ```

                  end

 

          (2)行级触发器

           (3)限制行级触发器

 

11.视图:虚表,减少重复代码,保证安全性

12.索引:

create or replace  index  索引名

on  表名( 字段名 )

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PL/SQL是Oracle数据库中的一种编程语言,用于编写存储过程函数触发器等数据库对象。下面是PL/SQL查询存储过程的介绍: PL/SQL查询存储过程是一种在数据库中定义的可重复使用的代码块,用于执行查询操作。它可以接受输入参数,并返回结果集。查询存储过程通常用于封装复杂的查询逻辑,提高代码的可维护性和重用性。 在PL/SQL中,可以使用以下步骤来创建和执行查询存储过程: 1. 创建存储过程:使用CREATE PROCEDURE语句创建存储过程,并指定输入参数和返回结果集的类型。例如: CREATE PROCEDURE get_employee_details (p_employee_id IN NUMBER, p_result OUT SYS_REFCURSOR) IS BEGIN OPEN p_result FOR SELECT * FROM employees WHERE employee_id = p_employee_id; END; 上述示例创建了一个名为get_employee_details的存储过程,接受一个输入参数p_employee_id和一个输出参数p_result,通过查询语句返回符合条件的员工信息。 2. 执行存储过程:使用EXECUTE或CALL语句执行存储过程,并传递参数。例如: DECLARE v_employee_id NUMBER := 100; v_result SYS_REFCURSOR; BEGIN get_employee_details(v_employee_id, v_result); -- 处理结果集 END; 上述示例中,声明了一个变量v_employee_id并赋值为100,声明了一个变量v_result用于接收存储过程的结果集。然后调用get_employee_details存储过程,并传递参数。 3. 处理结果集:在存储过程执行后,可以通过游标(CURSOR)来处理返回的结果集。例如: LOOP FETCH v_result INTO v_employee; EXIT WHEN v_result%NOTFOUND; -- 处理每一条记录 END LOOP; 上述示例中,使用FETCH语句从结果集中获取每一条记录,并在循环中进行处理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值