SQL Server2008 学习之(十五) :存储过程的创建与修改

来源:互联网 发布:淘宝打不开怎么办 编辑:程序博客网 时间:2024/04/25 05:54
存储是数据库开发中经常使用的操作,可以把许多重复的操作(只是一些参数不同)模块化,与编程中的函数类似,但是存储过程的功能大于函数存储过程的定义如下。



1.创建存储过程
创建存储过程的语法如下。



1.1 一个简单的存储过程
新建查询中输入
create procedure pro_testasselect * from Sales.SalesTerritory

即可创建一个简单的存储过程,结果储存在AdventureWorks2012——>可编程性——>存储过程中,调用时输入    exec pro_test    即可查询到对应表中的信息,如下图所示。





1.2 带参数的存储过程
在新建查询中输入
create procedure pro_test@region nvarchar(10)    --创建一个变量用来存储数据asselect * from Sales.SalesTerritory where CountryRegionCode=@region    把要存储的数据赋值给region

即可,用    exec pro_test @region='US'    进行查询。结果如下图。



1.3使用输出参数
在制定输入列表时可以指定一部分参数作为输出参数。
在新建查询中输入
create procedure pro_test@ter int,@sales int output    --定义一个输出参数salesasselect @sales=a.SalesLastYear from Sales.SalesTerritory a where TerritoryID=@ter    --ter获取territoryID具体值,sales输出对应行的SalesLastYear值declare @out intexec pro_test @ter='2',@sales=@out output    --在查询时需要新建一个参数out以存储sales值print @out

即可,结果如下图,输出了对应territoryID的SalesLastYear值
   
 

2.修改与删除存储过程
2.1修改存储过程
修改存储过程的语法如下。



修改存储过程的方法很简单,直接在已有的存储过程单击右键修改,出现修改界面,如下图,在图中对红框部分的功能进行修改即可。



2.2 删除存储过程
删除存储过程的语法如下。



新建查询中输入    drop procedure pro_test    即可。

3.临时存储过程
与创建临时表相似,存储过程也分为本地临时过程全局临时过程。

创建临时表的方法参照:http://blog.csdn.net/s1314_JHC/article/details/78523844
  • 本地临时表以#开头,仅对当前用户可见,从SQL Server断开连接后被删除。
  • 全局临时表以##开头,对所有用户可见,从SQL Server断开连接后被删除。

创建临时存储过程时,在新建查询中输入
create procedure #pro_test    --#pro_test表示本地临时过程asselect * from Sales.SalesTerritory

即可,结果如下。如果再创建一个新的查询,则会出错。如下右图。


        
阅读全文
0 0