declare @sql varchar(1000)
select @sql=isnull(@sql,'')+','+name
from syscolumns where id=object_id('表名')
and name<>'要排除的列名'
set @sql='select '+stuff(@sql,1,1,'')+' from 表'
exec(@sql)
select @sql=isnull(@sql,'')+','+name
from syscolumns where id=object_id('表名')
and name<>'要排除的列名'
set @sql='select '+stuff(@sql,1,1,'')+' from 表'
exec(@sql)
自己写一个取某个表的各字段名称的函数.
参数:@prefix前缀
@tablename 表名.
返回:该表的所有字段的字符串.
*/
CREATE FUNCTION [dbo].[dev_fns_GetColStr] (@prefix varchar(20),@tablename varchar(200))
RETURNS varchar(1000) AS
BEGIN
declare @str varchar(1000)
select @str=''
select @str=@str+@prefix+[name]+',' from syscolumns where [id]= object_id(@tablename) order by colorder
if len(@str)>0
select @str=left(@str,len(@str)-1)
return @str
END
--如下调用,将显示所有字段名,可以把不要的删除掉。如果是多表链接,就加入前缀。
select dbo.dev_fns_GetColStr('','表名字')