111

 1> declare cur cursor for select "select count(1) from "+name from sysobjects where type='U'
2> go
1> declare @sql varchar(200)
2> open cur
3> fetch cur into @sql
4> while @@sqlstatus = 0
5>  begin
6>     exec(@sql)
7>     fetch cur into @sql
8> end
9> go
1> deallocate cursor cur
2> go

前面说了,你可以先把动态sql这部分结果插入临时表。然后你想怎么着怎么着。


至于cursor至少15以前的版本,还是能避免避免吧,效率还是比较低的

 

 

利用动态sql语句,将结果插入到临时表里,省去了用游标的过程。 游标效率挺低的。

 

 

我想到一种笨办法,首先,建立一个过程,

create proc proc8501 @tn varchar(20)   
as
exec("select * into tempdb..ddgc from "+@tn )

执行过程后,得到临时表
再通过临时表定义指针
declare cdd cursor for select * from tempdb..ddgc


再从指针中得到值
create proc proc8901 @tn varchar(20)   
as
exec("select * into tempdb..dddgc from "+@tn )


不过必须写一段执行一次,嘿嘿谢谢了,版主的邮箱是mailtozou@msn.com 八?
我的是zhang2chao@sina.com可以多交流哦,呵呵,不懂就问你了~~~当然,我会尽量自己搞定

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值