如何取得一个数据表的所有列名

方法一:
declare @objid int,@objname char(40)
set @objname = 'admin'
select @objid = id from sysobjects where id = object_id(@objname)
select 'Column_name' = name from syscolumns where id = @objid order by colid


-----------------------------------------------------------------------------
select * from Sysobjects --查看系统表,存放了系统的对象。e.g.:tblname,pkname...

select * from syscolumns --查看列(属性)表,
/*
1。表的ID
2。通过表的ID,取表的列名
*/

-- object_id(@objname) 这一点很关键,我怎么也想不到,唉!差距
-- 经查帮助得知 object_id()是元数据函数,系统函数可以在选择列表、WHERE 子句和任何允许使用表达式的地方使用。

方法二:通过表名获致表在数据库中的标识
select name from syscolumns where id=object_id(''表名'')

posted @ 2007-09-13 16:57  yellowwood  阅读(681)  评论(0编辑  收藏  举报
Never Give UP