创建一个存储过程,通过表名获取这个表中的所有字段
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键 就会生出对应的字段
推荐大家使用这个工具,其它博客里面有介绍,搜索一下即可得到