查詢一個表中的所有字段,一个表的结构

创建一个存储过程,通过表名获取这个表中的所有字段

 CREATE PROC GetColoumnNsameByTableName
(@TableName NVARCHAR(30))
AS
declare @re varchar(1000)
set @re = ''
select @re = @re + a.[name] + ',' from
(select [name] from syscolumns
where id = (select id from sysobjects where name = @TableName))a
group by a.[name]
select left(@re,len(@re) -1)

-- 如果不是为了复制而只是简单的查看可以调用系统存储过程
-- exec sp_MShelpcolumns 'employee'

 

使用方法: exec GetColoumnNsameByTableName 'WorkGroupInfo'

 

查看一个表的结构 

--方法1:

exec sp_help '表名' --方法2:

select * from syscolumns where id=object_id('表名')

 

 

知道這個表中某一个字段的名称是 Textna 想知道都是哪个表包含这个字段

select *  from sysobjects sos
left join INFORMATION_SCHEMA.KEY_COLUMN_USAGE ISK on ISK.table_name = sos.name
where xtype = 'U' and ISK.column_name  = 'Textna'

 使用SQL Prompt 工具中的 SQL Search 插件,这个更加方便,可以对类型(表/存储过程/视图/触发器等)进行过滤,支持模糊查询和全字匹配,有了SQL Prompt 这个工具,上面的都有比较方便的写法,比如

获取一个表的全部字段 直接输入ssf+Tab键 +表名称, 然后在*后面按Tab键 就会生出对应的字段

推荐大家使用这个工具,其它博客里面有介绍,搜索一下即可得到

 

 

posted @ 2012-02-08 10:50  maanshancss  阅读(1714)  评论(0编辑  收藏  举报