存储过程!

一直没有好好写过存储过程,今天一个看起来很简单的问题,结果写了一下午的存储过程 emdgust.gif
要做的是查询若干个表,然后对结果做些修改,最后返回这些结果。本来以为存储返回结果可以写return table之类的,后来才发现都是使用select语句来返回的。这样只能先产生一个临时表来保存最初查询结果,然后遍历做修改,最后返回临时表内容,并删除该表。
None.gif CREATE   procedure  sp_func
None.gif
as
None.gif
begin
None.gif
None.gif
create   table  #tmpTable
None.gif(
ExpandedBlockStart.gifContractedBlock.gif
/**/ /*dot.gif*/
None.gif)
None.gif
declare  curTable  cursor   for
None.gif
-- dot.gif
None.gif
open  curTable
None.gif
None.gif
while   1 = 1
None.gif
begin
None.gif    
fetch   next   from  curTable  into   -- dot.gif
None.gif
     if   @@fetch_status   <>   0
None.gif        
break
ExpandedBlockStart.gifContractedBlock.gif    
/**/ /*dot.gif*/
None.gif
end
None.gif
None.gif
close  curTable
None.gif
deallocate  curTable
None.gif
None.gif
select   *   from  #tmpTable
None.gif
drop   table  #tmpTable
None.gif
None.gif
end
None.gif
None.gif
go
大致上就是这样,对熟手来说这根本不算什么,是最常用的方法。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值