一、自定义函数:

  1. 可以返回表变量
  2. 限制颇多,包括
    不能使用output参数;
    不能用临时表;
    函数内部的操作不能影响到外部环境;
    不能通过select返回结果集;
    不能update,delete,数据库表;
  3. 必须return 一个标量值或表变量
  自定义函数一般用在复用度高,功能简单单一,争对性强的地方。

二、存储过程

  1. 不能返回表变量
  2. 限制少,可以执行对数据库表的操作,可以返回数据集
  3. 可以return一个标量值,也可以省略return
   存储过程一般用在实现复杂的功能,数据操纵方面。

the differences between function and procedure的更多相关文章

  1. oracle的function和procedure返回值给shell

    本文演示两个关于如何在shell中调用oracle的function和procedure,并将返回值返回给shell. 1.首在package中创建function和procedure,脚本如下: G ...

  2. mysql function 与 procedure

    Mysql 的 function 和 procedure 有啥区别呢 ? 网上搜索后说 function 有返回值, procedure 无返回值. 1.return  从function 的语法角度 ...

  3. oracle中的function 、procedure、packages、package bodies比较

    1  function和procedure的区别 1).可以理解函数是存储过程的一种 2).函数可以没有参数,但是一定需要一个返回值,存储过程可以没有参数,不需要返回值 3).函数return返回值没 ...

  4. MySQL 5.7 create VIEW or FUNCTION or PROCEDURE

    1.视图 a. CREATE ALGORITHM = UNDEFINED DEFINER = `root`@`localhost` SQL SECURITY INVOKER VIEW `sakila` ...

  5. SQLServer:FUNCTION/CURSOR/PROCEDURE/TRIGGER

    一.FUNCTION:在sqlserver2008中有3中自定义函数:标量函数/内联表值函数/多语句表值函数,首先总结下他们语法的异同点:同点:1.创建定义是一样的:                  ...

  6. Oracle function和procedure

    1.返回值的区别 函数有1个返回值,而存储过程是通过参数返回的,可以有多个或者没有 2. 调用的区别,函数可以在查询语句中直接调用,而存储过程必须单独调用. 函数:一般情况下是用来计算并返回一个计算结 ...

  7. sql:MySql create FUNCTION,VIEW,PROCEDURE

    use geovindu; #函数 DELIMITER $$ drop function if exists f_GetDepartmentName $$ CREATE function f_GetD ...

  8. Delphi7中的函数与过程(Function and Procedure)

    1.锁住空间的位置,可以选择Edit--->Lock component ,也可以在窗体设计面板下面找到组件排版功能栏,第二排里面有个带锁的图标,表示组件可以被锁住.点击一下,组件的大小和位置就 ...

  9. Oracle 中 编写 function 和 procedure 的注意事项

    create or replace function sum_pro( v_a number, v_b number ) return number is -- v_result number(10) ...

随机推荐

  1. HierarchyRequestError:Node cannot be inserted at the specified point in the hierarchy

    问题描述: 用jquery的ajax加载html片段,出现该错误 HierarchyRequestError:Node cannot be inserted at the specified poin ...

  2. 递推DP 赛码 1005 Game

    题目传送门 /* 递推DP:官方题解 令Fi,j代表剩下i个人时,若BrotherK的位置是1,那么位置为j的人是否可能获胜 转移的时候可以枚举当前轮指定的数是什么,那么就可以计算出当前位置j的人在剩 ...

  3. 关于InputStream.read()方法的阻塞原理的测试

    最近在一家公司做java实习,写了个网络字节采集器.写了个单例TCPServer来采集数据,其中用到了InputStream.read()来读取数据.产生了一系列问题,下面做下总结: 关于while( ...

  4. linux eclipse cdt make error 127

    不知道为啥,copy原来的eclipse环境到新的地方后,编译总是出错: make:*** error 127 解决方案是:属性Properties---C++编译 c++build---build ...

  5. .NET正则基础之——平衡组

    1        概述 平衡组是微软在.NET中提出的一个概念,主要是结合几种正则语法规则,提供对配对出现的嵌套结构的匹配..NET是目前对正则支持最完备.功能最强大的语言平台之一,而平衡组正是其强大 ...

  6. tableviewCell折叠状态2

    // //  LHQContentViewCell.h //  11 - 投资管理 - 李洪强 // //  Created by vic fan on 16/4/12. //  Copyright ...

  7. Resources

    McGuire Computer Graphics Data http://mesh.brown.edu/calibration/software.html Pixar Online Library ...

  8. spark-submit [options]

    执行时需要传入的参数说明如下: Usage: spark-submit [options] <app jar | python file> [app options] 参数名称 含义 -- ...

  9. ArcEngine开发 尝试读取或写入受保护的内存。这通常指示其他内存已损坏。

    if(pFeature!=null) { IPoint pnt = pFeature.Shape as IPoint; pntArray.Add(pnt); } 调试是pntArray.Add(pnt ...

  10. ASPX版菜刀一句话,留后门专用

    首先解释一下为什么要做这个玩意:众所周知.net一句话是不能插入到文件之中的,除非那个页面使用Jscript编写,但是现在看来 Jscript市场很低,遇到的.net站基本都是C#.新建一个SHELL ...