存储过程

简介: 存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,存储在数据库中经过第一次编译后再次调用不需要再次编译,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。

存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,存储在数据库中经过第一次编译后再次调用不需要再次编译,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程是数据库中的一个重要对象,任何一个设计良好的数据库应用程序都应该用到存储过程。

创建存储过程

CREATE PROCEDURE 存储过程名
[(参数#1,…参数#1024)]
[WITH
{RECOMPILE | ENCRYPTION | RECOMPILE, ENCRYPTION}
]
[FOR REPLICATION]
AS 程序行
其中存储过程名不能超过128个字。每个存储过程中最多设定1024个参数
(SQL Server 7.0以上版本),参数的使用方法如下:
@参数名数据类型[VARYING] [=内定值] [OUTPUT]
每个参数名前要有一个“@”符号,每一个存储过程的参数仅为该程序内部使用,参数的类型除了IMAGE外,其他SQL Server所支持的数据类型都可使用。
[内定值]相当于我们在建立数据库时设定一个字段的默认值,这里是为这个参数设定默认值。[OUTPUT]是用来指定该参数是既有输入又有输出值的,也就是在调用了这个存储过程时,如果所指定的参数值是我们需要输入的参数,同时也需要在结果中输出的,则该项必须为OUTPUT,而如果只是做输出参数用,可以用CURSOR,同时在使用该参数时,必须指定VARYING和OUTPUT这两个语句。
例子:
1
2
3
4
5
6
7
8
CREATE  PROCEDURE  order_tot_amt
@o_id  int ,
@p_tot  int  output
AS
SELECT  @p_tot =  sum (Unitprice*Quantity)
FROM  orderdetails
WHERE  orderid=@o_id
GO
例子说明:
该例子是建立一个简单的存储过程order_tot_amt,这个存储过程根据用户输入的定单ID号码(@o_id),由订单明细表 (orderdetails)中计算该定单销售总额[单价(Unitprice)*数量(Quantity)],这一金额通过@p_tot这一参数输出给调用这一存储过程的程序。
 
相关文章
|
2月前
|
存储 SQL Oracle
存储过程
存储过程 oracle存储过程procedure:是一个为了完成特定功能的sql语句块,经编译后存放在数据库中,第一次编译后不需要再进行编译,用户可以通过指定名称和传递参数来执行。 优点: 1.高效,编译一次后保存到数据库,以后调用不需要编译,直接执行,减少编译时间; 2.降低网络流量,存放于数据库中,远程调用不会传输大量字符串的sql语句; 3.复用性高,存储过程是针对某一特定功能创建的,当再需要完成特定功能时调用该存储即可; 4.可维护性高,功能发生细微变化时,只需修改小部分代码即可; 5.安全性高,完成某一特定功能的存储过程是特定用户创建的,具有身份限制。 结构:过程声明
36 2
|
存储 SQL Java
什么是存储过程?
我们可以把存储过程看成是一些 SQL 语句的集合,中间加了点逻辑控制语句。存储过程在业务比较复杂的时候是非常实用的,比如很多时候我们完成一个操作可能需要写一大串 SQL 语句,这时候我们就可以写有一个存储过程,这样也方便了我们下一次的调用。存储过程一旦调试完成通过后就能稳定运行,另外,使用存储过程比单纯 SQL 语句执行要快,因为存储过程是预编译过的。
119 0
|
存储 SQL 定位技术
【机房重构】—存储过程当媒人
那是一个风和日丽的白天,重构帅小伙独自一人走在处处飘香的初夏的校园中,他一直在思考,如何与库美女更容易的交往呢?
|
存储 SQL 缓存
存储过程详细介绍
存储过程详细介绍
|
存储 SQL NoSQL
第15章_存储过程与函数
第15章_存储过程与函数
123 0
|
存储 SQL NoSQL
存储过程与函数
MySQL从5.0版本开始支持存储过程和函数。存储过程和函数能够将复杂的SQL逻辑封装在一起,应用程序无须关注存储过程和函数内部复杂的SQL逻辑,而只需要简单地调用存储过程和函数即可
存储过程与函数
|
存储 SQL 数据库
存储过程详解
存储过程详解
255 0
存储过程详解
|
存储
存储过程的语法讲解
在上一篇文章:别再说不知道什么是存储过程和存储函数了中简单的介绍了存储过程和存储函数以及其使用。其实存储过程是可以进行编程的,所以可以和其他的编程语言一样使用变量、表达式以及控制结构进行编程,从而实现一些复杂和有用的功能。
269 0
存储过程的语法讲解
|
存储 SQL 关系型数据库
MySQL数据库(31):存储过程 procedure
MySQL数据库(31):存储过程 procedure
200 0

热门文章

最新文章

下一篇
开通oss服务