暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

简单的Oracle存储过程举例解析

SQL数据库运维 2023-05-04
712

点击蓝色字关注“SQL数据库运维”,回复“SQL”获取2TB学习资源!

Oracle存储过程

存储过程是事先经过编译并存储在数据库中的一段SQL语句的集合,调用存储过程可以简化应用开发人员的很多工作,减少数据在数据库和应用服务器之间的传输,对于提高数据处理的效率是有好处的。

语法:

    --Oracle数据库存储过程语法
    CREATE [OR REPLACE] PROCEDURE procedure_name
    [ (parameter [,parameter]) ]
    IS|AS
    [declaration_section]
    BEGIN
    executable_section
    [EXCEPTION
    exception_section]
    END [procedure_name];

    语法分析:

    OR REPLACE

    是一个可选的关键字,建议用户使用此关键字。如果过程已经存在,该关键字将重新创建过程,这样就不必删除和重新创建过程。

    关键字IS和AS均可

    它们本身没有区别。IS后面是一个完整的PL/SQL块,可以定义局部变量,但不能以DECLARE开始。局部变量在过程内部存放值。

    形式参数可以有三种模式:IN、OUT、INOUT。如果没有为形式参数指定模式,那么默认的模式是IN。


    举个简单的例子

    Oracle创建存储过程

    在user_01表中插入记录,所以需要先创建user_01表。

    user_01表创建语句:

      create table user_01(id number(10) primary key,name varchar2(100));


      现在编写存储过程在user_01表中插入记录。

        create or replace procedure "INSERTUSER"    
        (id IN NUMBER,
        name IN VARCHAR2)
        is
        begin
        insert into user_01 values(id,name);
        end;
        /

        注:需要在存储过程输入完成后回车,下一行输入”/”回车,才会创建成功。

        Oracle调用存储过程

          BEGIN    
          insertuser(100,'测试');
          dbms_output.put_line('record inserted successfully');
          END;
          /

          现在,查看USER_01表中的记录,将看到插入了一条记录。

          Oracle删除存储过程

          语法

            DROP PROCEDURE procedure_name;

            删除举例:删除刚刚创建的存储过程INSERTUSER

              DROP PROCEDURE INSERTUSER;

              点击关注“SQL数据库运维”,后台或浏览至公众号文章底部点击“发消息”回复关键字:进群,带你进入高手如云的技术交流群。后台回复关键字:SQL,获取学习资料。


              动动小手点击加关注呦☟☟☟

              文章转载自SQL数据库运维,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

              评论