tempdb..syscolumns中查出所有字段
declare @str=varchar(8000)
set @str='select '
select @str=@str+name +',' from tempdb..syscolumns where id =object_id(tempdb..#temp)
set @str=left(@str,len(@str)-1)+' from #临时表'
exec(@str)
declare @str=varchar(8000)
set @str='select '
select @str=@str+name +',' from tempdb..syscolumns where id =object_id(tempdb..#temp)
set @str=left(@str,len(@str)-1)+' from #临时表'
exec(@str)
解决方案 »
- 使用union all的效率问题
- 诚恳指点一二,下面mssql存储过程1和存储过程2是否有意义,执行效率一样吗?谢谢
- 存储过程,如果需要外面传入日期进去进行比较,该如何做
- 从 char 数据类型到 datetime 数据类型的转换导致 datetime 值越界问题
- 我故意把表名改掉想测试回滚,怎么就报这个错误了,奇怪阿
- 求问。初学SQL。有几个题目不会做。。高手帮忙看下。。写个代码让我自己研究
- 无法安装数据服务器,使用时连接不能
- 如何取得sum(字段名)中的最大值?
- sql语句问题,急,谢!
- 关于DISTINCT的问题
- sql问题,请高手过来一起讨论一下。
- 大容量的数据库B/S查询建设,如果建立优化的数据结构?
tempdb..syscolumns中查出所有字段
如果不是临时表,把表名前的串"tempdb.."去掉declare @str=varchar(8000)
set @str='select '
select @str=@str+name +',' from tempdb..syscolumns where id =object_id('tempdb..#temp')
set @str=left(@str,len(@str)-1)+' from #临时表'
exec(@str)
我要用一条select语句表示出来,也就是说用
select * from #temp
但是id不显示出来
假设你不要的字段为A,
declare @str varchar(8000)
set @str='select '
select @str=@str+name +',' from syscolumns where id =object_id('a')
select @str
select @str=replace(@str,'a,','')
set @str=left(@str,len(@str)-1)+' from a'
exec(@str)
也就是说在我在写select语句前我只知道里面有id字段,
其它几个字段我并不知道。