您的位置:首页 > 其它

111

2011-10-24 15:15 831 查看
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可以多交流哦,呵呵,不懂就问你了~~~当然,我会尽量自己搞定
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: