情况是这样,表中有个字段photo为照片,用select * 时打开表很慢,我想把除photo以外的所有字段都找出来,但一个一个列举的话很麻烦,以后增加字段怕忘了在select中加进去
10 个解决方案
#1
select name from syscolumns where id=object_id('你的表名称') and name<>'photo'
#2
以前的公司禁止在 select 后面用星号
#3
一个一个列举的话很麻烦
=========
这个都怕麻烦的话,就麻烦了
=========
这个都怕麻烦的话,就麻烦了
#4
是啊 怕麻烦别做了
#5
declare @columns varchar(50)
set @columns=''
select @columns=@columns+ name + ',' from syscolumns where id=object_id('tab_name') and name<>'photo'
set @columns=left(@columns,len(@columns)-1)
exec ('select ' +@columns + ' from ' + tab_name)
set @columns=''
select @columns=@columns+ name + ',' from syscolumns where id=object_id('tab_name') and name<>'photo'
set @columns=left(@columns,len(@columns)-1)
exec ('select ' +@columns + ' from ' + tab_name)
#6
select * 和 select 后面把表字段全列出来 搜索的效率是一样的吧
也不是懒,哈哈,主要是这个表里以后可能会增加字段,怕忘了这个地方更改代码
也不是懒,哈哈,主要是这个表里以后可能会增加字段,怕忘了这个地方更改代码
#7
select *是极其不负责任的写法。
#8
别的方法有,但是更麻烦……不要怕写字段
#9
又是一个想偷懒的.
#10
select * 和 select 后面把表字段全列出来
搜索的效率不一样,后者快!
搜索的效率不一样,后者快!
#1
select name from syscolumns where id=object_id('你的表名称') and name<>'photo'
#2
以前的公司禁止在 select 后面用星号
#3
一个一个列举的话很麻烦
=========
这个都怕麻烦的话,就麻烦了
=========
这个都怕麻烦的话,就麻烦了
#4
是啊 怕麻烦别做了
#5
declare @columns varchar(50)
set @columns=''
select @columns=@columns+ name + ',' from syscolumns where id=object_id('tab_name') and name<>'photo'
set @columns=left(@columns,len(@columns)-1)
exec ('select ' +@columns + ' from ' + tab_name)
set @columns=''
select @columns=@columns+ name + ',' from syscolumns where id=object_id('tab_name') and name<>'photo'
set @columns=left(@columns,len(@columns)-1)
exec ('select ' +@columns + ' from ' + tab_name)
#6
select * 和 select 后面把表字段全列出来 搜索的效率是一样的吧
也不是懒,哈哈,主要是这个表里以后可能会增加字段,怕忘了这个地方更改代码
也不是懒,哈哈,主要是这个表里以后可能会增加字段,怕忘了这个地方更改代码
#7
select *是极其不负责任的写法。
#8
别的方法有,但是更麻烦……不要怕写字段
#9
又是一个想偷懒的.
#10
select * 和 select 后面把表字段全列出来
搜索的效率不一样,后者快!
搜索的效率不一样,后者快!