• Oracle存储过程和存储函数


    参看https://www.imooc.com/learn/370

    Oracle存储过程、 存储函数
          说明:存储过程、存储函数都是对象。包括表、视图、
    索引、序列、同义词等也是对象。

          概念:指存储在数据库中供所有用户程序调用的子程序叫存储
    过程、存储函数。

          特点:完成特定功能的程序。

          区别:存储函数可以通过return子句返回一个值。

    -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    创建和使用存储过程
    用create procedure命令建立存储过程和存储函数。
    语法
    create [or replace] procedure 过程名(参数列表)
    as plsql子程序体;

    说明:存储过程只能创建或替换,不能修改。 其中,pl
    sql子程序为说明的部分。

    create [or replace] procedure 过程名(参数列表)
    as

    ----声明部分  相当于declare  不可以省略

    eg:

    create [or replace] procedure sayhello( )
    as
    
    begin
    
            dbms_output.put_line("helloworld");
    
    end

    调用:

    exec sayhello( );
    
    或
    
    begin
    
         exec sayhello( );
    
         exec sayhello( );
    
    end;
    带参数的存储过程之带输入参数;
    eg:
    --创建一个带参数的存储过程:
    --目的:给指定的员工涨100块工资,并且打印涨薪前和涨薪后的薪水
    
    
    create or replace procedure raisesalary(eno in number)
    as
    --定义一个变量保存涨薪前的薪水
    psal emp.sal%type;
    
    begin
         --得到员工涨薪前的薪水
         select sal into psal
         from emp
         where empno=eno;
         --给该员工涨100
         update emp
         set sal=sal+100
         where empno=eno;
    
        --需不需要commit?
        --注意:一般不在存储过程或者存储函数中commit和rollback; 但是其实可以
        --这样操作,它一般作为子程序来调用,在调用时候即可看出原因。
    
         --打印
         dbms_output.put_line("涨薪前:"||psal||"张新后:"||(psal+100));
    end;
    调用:
    begin
         raisesalary(7839);
         raisesalary(7639);
         commit;
    end;
    成年人的世界没有那么多的童话,也没有那么多的逆袭。
  • 相关阅读:
    Intellij中的常用快捷键
    Intelij 中javax.servlet.http.HttpServlet包导不进来
    JDBC工具类与数据库建立连接
    Xms Xmx PermSize MaxPermSize 区别
    图书管理系统(SSH)
    DAO
    spring中的bean
    Intellij页面汉字乱码问题
    Dispatcher initialization failed
    用同一个类对不同表进行访问
  • 原文地址:https://www.cnblogs.com/shijinglu2018/p/11041155.html
Copyright © 2020-2023  润新知