存储过程

简介: 将常用的或很复杂的工作,预先写好并用一个指定的名称存储起来,以后数据库要提供与已定义的功能相同的服务时,只需调用执行即可。

将常用的或很复杂的工作,预先写好并用一个指定的名称存储起来,以后数据库要提供与已定义的功能相同的服务时,只需调用执行即可。存储过程就是这种预先编译好的程序块,通常由一系列SQL语句构成,但不局限于SQL语句。

与一般的SQL语句相比,存储过程具有这样一些优点:

1)便于模块化程序设计

2)提高执行速度

3)减少网络流量

4)可作为安全机制使用

1、创建存储过程

create procedure pro1
  @name varchar(6)
as
begin
  select customers.cname,products.pname,oadd from customers,products,orders where customers.cno=orders.cno and products.pno=orders.pno and customers.cname=@name
end


 

create procedure pro2
  @name varchar(6),
  @sum tinyint output
as
  begin
     select @sum=sum(oquant) from customers,products,orders where customers.cno=orders.cno and products.pno=orders.pno and customers.cname=@name
  end


2、执行存储过程

declare @sum tinyint
execute pro2 '吴丹',@sum1 output
print @sum1


3、存储过程的更改与删除

create procedure pro1
  @name varchar(6),
  @sum1 tinyint output,
  @sum2 smallmoney output
as
begin
  select cname as '姓名',pname as '商品',otel as '送货电话',oadd as '送货地址',oquant as '数量',price as '单价'from customers,products,orders where customers.cno=orders.cno and products.pno=orders.pno and customers.cname=@name select @sum1=sum(oquant),@sum2=sum(price*oquant) from customers,products,orders where customers.cno=orders.cno and products.pno=orders.pno and customers.cname=@name
end
declare @sum1 tinyint
declare @sum2 smallmoney
execute pro1 '吴丹',@sum1 output,@sum2 output
print @sum1+','+space(2)+str(@sum2,8,2)
drop procedure pro2



 

目录
相关文章
|
9月前
|
存储 SQL Java
什么是存储过程?
我们可以把存储过程看成是一些 SQL 语句的集合,中间加了点逻辑控制语句。存储过程在业务比较复杂的时候是非常实用的,比如很多时候我们完成一个操作可能需要写一大串 SQL 语句,这时候我们就可以写有一个存储过程,这样也方便了我们下一次的调用。存储过程一旦调试完成通过后就能稳定运行,另外,使用存储过程比单纯 SQL 语句执行要快,因为存储过程是预编译过的。
70 0
|
11月前
|
存储 SQL Oracle
|
11月前
|
存储 SQL 缓存
存储过程详细介绍
存储过程详细介绍
|
11月前
|
存储 SQL NoSQL
第15章_存储过程与函数
第15章_存储过程与函数
87 0
|
存储 SQL NoSQL
存储过程与函数
MySQL从5.0版本开始支持存储过程和函数。存储过程和函数能够将复杂的SQL逻辑封装在一起,应用程序无须关注存储过程和函数内部复杂的SQL逻辑,而只需要简单地调用存储过程和函数即可
存储过程与函数
|
存储 SQL 数据库
存储过程详解
存储过程详解
208 0
存储过程详解
|
存储
存储过程的语法讲解
在上一篇文章:别再说不知道什么是存储过程和存储函数了中简单的介绍了存储过程和存储函数以及其使用。其实存储过程是可以进行编程的,所以可以和其他的编程语言一样使用变量、表达式以及控制结构进行编程,从而实现一些复杂和有用的功能。
182 0
存储过程的语法讲解
|
SQL 存储 关系型数据库