当前位置: 网学 > 编程文档 > SQL SERVER > 正文

T-SQL检测表无用字段

来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/18
下载{$ArticleTitle}原创论文样式

把所有字段中,如果某些字段全是0或者全是空或者全是“null”的过滤掉,把空的字段名称和长度显示出来,如果要显示非空的字段隐藏空的可以把not exists的not去掉就可以了
 

CREATE PROCEDURE dbo.sp_chk_no_used_field
@tname as varchar(266) --检测表中无用字段 by Sgxcn 2011.9
AS
BEGIN
declare @fname nvarchar(255)
declare curField cursor for
SELECT name FROM Syscolumns WHERE ID=OBJECT_ID(@tname) and name is not NULL

create table ##temp (name nvarchar(255))

open curField
FETCH NEXT FROM curField into @fname
WHILE @@FETCH_STATUS = 0
BEGIN
DECLARE @SQL as NVARCHAR(255)
--如果要显示非空的字段隐藏空的可以把not exists的not去掉就可以了
SET @SQL = ''if not exists(select * from ''+@tname+ '' where ('' + @fname + '' is not null) or ('' + @fname + '' <> '''''''') or ('' + @fname + '' <> 0)) insert into ##temp values(''''''+@fname+ '''''')''
EXEC sp_executesql @SQL
FETCH NEXT FROM curField into @fname
END
CLOSE curField
DEALLOCATE curField

SELECT [name], [length] FROM Syscolumns WHERE ID=OBJECT_ID(@tname) and name in (SELECT [name] FROM ##temp)

drop table ##temp
END
GO

调用示例

exec sp_chk_no_used_field ''表名''
 

  • 下一篇资讯: [SQL SERVER]
  • 网学推荐

    免费论文

    原创论文

    浏览:
    设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
    湘ICP备09003080号