给出表名可以在系统表中查出来
declare @tablename varchar(50)
set @tablename='table1' 
SELECT syscolumns.name
FROM sysobjects , syscolumns 
WHERE  sysobjects.id = syscolumns.id 
and(sysobjects.name = @tablename) 
AND (syscolumns.colid = 1)

解决方案 »

  1.   

    Get the First column's Name:
    declare @Name varchar(50)
    select @Name=Name 
    from syscolumns
    where id=object_id('TableName')
    and colid=1print @Name
      

  2.   

    得到列名有多种方式,但得到的列名无法用于查询:
    declare @Name varchar(50)
    select @Name=Name 
    from syscolumns
    where id=object_id('TableName')
    and colid=1print @Name
    虽然得到的@Name是正确的,但下面语句是错的:
    SELECT * FROM TableName WHERE @Name=SomeValue