-
存储过程和函数有什么区别?5
procedure 和 function 有什么区别?什么时候用procedure?什么时候用function?
问题补充:656950418 写道存储过程是事先编译好的一段可sql可执行代码,在sql启动后,在内存中就有了实例,这样sql服务启动了,就可以直接调用内存的中存储过程,效率加快。而不用像java客户端一样发送sql语句到db,还要经过编译在,运行,总的来说存储过程是sql语句执行效率提高
这个我知道,但是我没写过function,所以不知道两者之间有什么差别?什么时候用function?
问题补充:梦中有你 写道存储过程 跟 函数 用法上没多大区别 但是有一个很大的区别就是:返回值 你不需要返回值的时候用函数
说具体点嘛,貌似函数也可以有返回值吧?
问题补充:存储过程在sql启动后,在内存中就有了实例,这样sql服务启动了,就可以直接调用内存的中存储过程,效率加快。函数也是这样的吗?
PS:坐等高手详细讲解。2010年11月17日 17:26
3个答案 按时间排序 按投票排序
-
采纳的答案
存储过程:
存储过程可以使得对数据库的管理、以及显示关于数据库及其用户信息的工作容易得多。存储过程是 SQL 语句和可选控制流语句的预编译集合,以一个名称存储并作为一个单元处理。存储过程存储在数据库内,可由应用程序通过一个调用执行,而且允许用户声明变量、有条件执行以及其它强大的编程功能。
存储过程可包含程序流、逻辑以及对数据库的查询。它们可以接受参数、输出参数、返回单个或多个结果集以及返回值。
可以出于任何使用 SQL 语句的目的来使用存储过程,它具有以下优点:
1、可以在单个存储过程中执行一系列 SQL 语句。
2、可以从自己的存储过程内引用其它存储过程,这可以简化一系列复杂语句。
3、存储过程在创建时即在服务器上进行编译,所以执行起来比单个 SQL 语句快。
用户定义函数:
Microsoft SQL Server 2000 允许创建用户定义函数。与任何函数一样,用户定义函数是可返回值的例程。根据所返回值的类型,每个用户定义函数可分成以下三个类别:
1、返回可更新数据表的函数
如果用户定义函数包含单个 SELECT 语句且该语句可更新,则该函数返回的表格格式结果也可以更新。
2、返回不可更新数据表的函数
如果用户定义函数包含不止一个 SELECT 语句,或包含一个不可更新的 SELECT 语句,则该函数返回的表格格式结果也不可更新。
3、返回标量值的函数
用户定义函数可以返回标量值。
视图:
视图只是保存在数据库中的 SELECT 查询。因此,可对查询执行的大多数操作也可在视图上执行。
存储进程 自定义函数
功能强大,限制少 诸多限制,有许多语句不能使用,许多功能不能实现
不能直接引用返回值 可以直接引用返回值
用select语句返回记录集 用表变量返回记录集
...
...(期待高手)
总之,一个是过程,一个是函数。2010年11月18日 11:11
-
存储过程是事先编译好的一段可sql可执行代码,在sql启动后,在内存中就有了实例,这样sql服务启动了,就可以直接调用内存的中存储过程,效率加快。而不用像java客户端一样发送sql语句到db,还要经过编译在,运行,总的来说存储过程是sql语句执行效率提高
2010年11月17日 17:31
相关推荐
### 存储过程和函数的区别 #### 一、概述 在数据库编程中,存储过程(Stored Procedure)与函数(Function)都是预编译并存储在数据库服务器上的代码块,能够提高应用程序性能,简化复杂的数据库操作,并增强数据...
适合sqlserver数据库初学者,实验四存储过程和函数实验
根据提供的文件内容,本篇实验报告主要围绕MySQL数据库中存储过程和函数的应用,涵盖了创建存储过程、函数、游标以及异常处理等高级特性。下面将详细解析报告中的每个知识点。 1. 创建存储过程 存储过程是一种在...
在数据库管理领域,存储过程和函数是两种非常重要的数据库编程元素,它们都被广泛用于提高数据库操作的效率和安全性。然而,两者之间存在着显著的区别。本文将深入探讨存储过程与函数的差异,以及如何在实际应用中...
在Oracle数据库中,存储过程、游标和函数是非常重要的组成部分,它们为数据库管理提供了强大的编程能力。通过学习这些概念,我们可以更加灵活地管理和操作数据库数据。 ##### 1.1 存储过程 存储过程是一组预先编译...
根据提供的文件信息,本文将详细...存储过程和函数是数据库管理中非常重要的概念,它们可以提高程序的复用性和效率,同时简化数据库的维护工作。通过了解和掌握这些基本知识,可以更有效地管理和开发数据库应用程序。
### MySQL存储过程与函数详解 #### 一、概述 MySQL是一种广泛使用的开源关系...无论是创建、调用还是维护存储过程和函数,都有相应的语法和工具支持。掌握这些技能将有助于提高开发效率,实现更复杂的数据处理逻辑。
在Java编程中,调用Oracle数据库的存储过程和函数是常见的任务,这通常涉及到JDBC(Java Database Connectivity)API的使用。以下将详细介绍这个过程,包括必要的步骤、使用的类和方法,以及可能遇到的问题和解决...
MySQL中的存储过程和函数是两种不同的数据库编程工具,它们各自有着独特的特性和用途。下面将详细阐述这两者之间的差异。 1. **定义与用途** - **存储过程** 是一组预编译的SQL语句,由用户定义并保存在数据库中,...
GBase 8S 是一款由南京大学通用数据技术有限公司开发的关系型数据库管理系统,它支持自定义存储过程和函数,这极大地增强了数据库的功能性和灵活性。存储过程是GBase 8S中一个重要的特性,它们是一组预编译的SQL语句...
在Oracle数据库中,存储过程和函数是重要的编程元素,用于执行复杂的数据库操作和业务逻辑。本篇文章将深入探讨这两个概念,并结合经典的SCOTT库中的EMP表进行实例操作。 **一、Oracle存储过程** 存储过程是一组预...
MySQL 存储过程和函数是数据库中定义的一组用户定义的 SQL 语句集合。它们之间的区别在于: 1. 存储过程实现的功能要复杂一点,而函数实现的功能针对性比较强。 2. 存储过程可以返回参数,而函数只能返回值或者表...
- **复用性**:存储过程和函数可以被多个应用程序或存储过程调用,从而提高代码的复用性和维护性。 #### 2. 存储过程的优点 - **远程访问**:由于存储过程驻留在数据库服务器上,因此可以从任何客户端进行访问。 - ...
在Oracle中,包是将相关的存储过程和函数组织在一起的结构,它允许创建私有数据类型、常量和变量,以及封装相关功能,提高了代码的模块化和管理效率。包包含两个部分:规范(Specification),定义包的公共接口,即...
原创sql存储过程函数范例,一是为了自己方便查找,今天到公司因为没有我保存的一些范例,一个简单的例子写了半个小时,如果有范例直接套几分钟肯定搞定,所以索性上传到CSDN上,何时何地都能找到我的范例了。...
【触发器、存储过程和函数的区别】 触发器、存储过程和函数都是数据库管理系统中的重要组件,它们各自在特定场景下发挥着不同的作用。 1. **触发器(Triggers)** - 触发器是一种特殊的存储过程,它会在特定的...
存储过程、函数、触发器和包
mysql存储过程,存储函数练习,里面有详细代码,供大家参考
存储函数与存储过程类似,但主要区别在于存储函数必须返回一个值。函数可以被用作表达式的一部分。 #### 创建存储函数 创建存储函数的基本语法如下: ```sql CREATE [OR REPLACE] FUNCTION 函数名 (参数列表) ...
MySQL存储过程和函数是数据库编程的重要组成部分,它们提供了在数据库服务器上执行特定任务的能力。本部分详细介绍了存储程序和函数的各个方面,包括它们的创建、语法、权限控制以及与性能优化相关的概念。 首先,...