zoukankan      html  css  js  c++  java
  • 存储过程和存储函数

    存储过程(Stored Procedure)是一组为了完成特定功能的SQL 语句集,经编译后存储在数据库。中用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它

     优点:

    1.存储过程只在创造时进行编译,以后每次执行存储过程都不需再重新编译,而
    一般SQL 语句每执行一次就编译一次,所以使用存储过程可提高数据库执行速
    度。
    2.当对数据库进行复杂操作时(如对多个表进行
    Update,Insert,Query,Delete 时),可将此复杂操作用存储过程封装起来
    与数据库提供的事务处理结合一起使用。
    3.存储过程可以重复使用,可减少数据库开发人员的工作量
    4.安全性高,可设定只有某此用户才具有对指定存储过程的使用权

    1.使用create  procedure 命令建立和使用存储过程

    语法:create  [or replace] procedure   过程名(参数列表)

    AS

    PLSQL子程序

    其中as表示是要申明的变量

    例子:1.create or replace procedure  queryempinform (eno in number,

                                                                                             pename  out  varchar2,

                                                                                              psal  out  number,

                                                                                              pjob  out varchar2)

              as

              begin

              select  ename , sal, empjob  into pename,psal,pjob from emp where empno=eno;

              end

    2.create or replace  procedure  raisesalary  (eno  in number)

    as

    -------定义一个变量保持涨前的薪水

    ------%type就是emp .sal的数据类型,

    psal  emp .sal%type;

    begin

    select sal into psal from emp where  empno=eno;

    update emp  set  sal=sal+100 where empno=eno;

    dbms_output_put_line(.......)

    end

    2.存储函数

    函数为一命名的存储程序,可以带参数,并返回一个计算值,函数和过程的结构类似,但

    但必须有一个return子句,用于返回函数值

    create [or replace]  FUNCTION 函数名(参数列表)

    return 函数值类型

    AS

    PLSQL子程序体

    3.两者区别

    一般来说,存储过程和存储函数的区别在于存储函数有一个返回值,而存储过程没有返回值

    4.原则:如果只有一个返回值,用存储函数,否则就用存储过程

  • 相关阅读:
    NOIp2018集训test-9-4
    「THUSC 2016」成绩单 & 方块消除 (区间dp)
    NOIp2018集训test-9-2(pm)
    NOIp2018集训test-9-2(am)
    NOIp2018集训test-9-1(pm)
    NOIp2018集训test-9-1(am)
    暑假集训test-8-31(pm)
    暑假集训test-8-31(am)
    暑假集训test-8-30
    day22 笔记
  • 原文地址:https://www.cnblogs.com/libaowen609/p/12819689.html
Copyright © 2011-2022 走看看