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可以多交流哦,呵呵,不懂就问你了~~~当然,我会尽量自己搞定
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可以多交流哦,呵呵,不懂就问你了~~~当然,我会尽量自己搞定
相关文章推荐
- 经典之作:《卫斯理系列111——新武器》共144本加9本伪作
- 海南英语111——Part 12: Hobbies / Leisure 爱好/休闲
- 深入浅出C# 中文版 图文皆译 第三章 page111
- 111
- 111
- NetBeans 时事通讯(刊号 # 111 - Jul 28, 2010)
- SQLConvert(varchar(12),getdate(111))中的111,112,110
- 111
- uva 111 History Grading
- 111
- uva 111
- DownloadError: android.googlesource.com: <urlopen error [Errno 111] Connection refused>
- connect 是 errno 为111 115 101 22 错误分析
- SGU 111 Very simple problem
- 1,11,111
- uva111 - History Grading(历史考试)
- UVa 111 - History Grading
- NYOJ,111,分数加减法
- 最长公共子序列uva--111
- CODE 111: Valid Parentheses