我有一个表有50多列,但只有少数列正在使用。这意味着当任何存储过程使用该表时,它仅在select/where语句中引用4-5列。其余的列没有被使用。我只想列出实际使用的那些列。一种方法是找出表的依赖关系,然后遍历每个SP并找出哪些列正在使用。但在那种情况下,我有大约30+ Sp。有没有有效的方法来做到这一点。找出sql服务器中的表中所有有用的列
0
A
回答
2
试试这个:
select name from syscomments c
join sysobjects o on c.id = o.id
where TEXT like '%table_name%' and TEXT like '%column_name%'
table_name中给你的表名,在列名给出了要CHCK程序dependencies.You将获得该存储过程的名称作为输出列
+0
非常感谢。这会做。 – pKay
3
要使用多个列在一个过程中,你可以使用一个代码像下面
create procedure sp_sample
@column_names varchar(200)
as
if @column_names='' or @column_nams is null
set @column_names='*'
exec ('select '[email protected]_name +' from table')
下面是一些例子:
exec sp_sample @columnname='id,name'
或
exec sp_sample @columnname='id,name,telphone'
0
如果您导入数据库使用SQL Server Data Tools数据库项目,你将能够找到一个表或使用“查找所有引用”上下文命令列的所有引用。是什么使得这个特别有用的是准确性:它甚至会发现SELECT *
的实例没有明确提及该列,但隐式地参考它。它也不会被具有类似名称的表或列混淆(发现ID
的特定实例在其他方面存在问题)。
如果你想知道某个列是否被引用,你可以简单地删除它,看看是否有任何“未解决的引用”错误出现在错误列表中 - 如果是的话,那么该列在某处使用。
相关问题
- 1. 查找出现在SQL服务器中所有部门的所有用户?
- 2. 用c#列出mysql服务器中的所有数据库#
- 3. 列出所有账户中的所有AWS ECS(EC2容器)服务器
- 4. sql按服务所有者的评分数量列出服务
- 5. 列出网络中的所有MSSQL服务器VB.NET
- 6. SQL查找表中所有列的SUM大于零的所有列的名称
- 7. postgresql列出服务器内的所有表字段信息
- 8. 获取系统中安装的所有SQL服务器的列表
- 9. 如何使用T-SQL列出SQL Server中的所有表名?
- 10. 获取SQL服务器组中可用服务器的列表
- 11. 如何迭代服务器中所有数据库的列表?
- 12. 在AWS服务器中使用Python的所有计划任务的列表
- 13. SQL服务器:选择表中的所有记录时,从三列值在
- 14. 从远程服务器导出SQL数据库(所有表)
- 15. 寻找所有表中的值在SQL
- 16. 在SQL Server 2008中查找对表列的所有引用
- 17. 列出服务器上的所有文件使用C
- 18. 如何列出Oracle SQL中的架构中的所有表?
- 19. 如何使用Powershell列出服务器中使用服务帐户运行的所有服务
- 20. 表中的SQL服务器
- 21. 如何在SQL Server中列出链接服务器数据库的所有表和列名称?
- 22. 列出SQL语句中使用的所有表格
- 23. 如何使用Squirrel SQL列出数据库中的所有表?
- 24. 在另一个列表中查找所有列出的项目
- 25. 连接到我所有的SQL服务器时出错
- 26. 所有可用服务器控件的列表
- 27. 找出所有的子表
- 28. 如何获得使用python xmpppy的XMPP服务器中所有MUC的列表?
- 29. 使用C#列出所有存在于局域网中的NAS服务器
- 30. 别名所有查询 - SQL服务器
我会在字典中寻找它,不记得...列使用(四)的东西。 – jarlh
通过表中有用的列我的意思是一些存储过程引用这些列。如果在我的数据库中没有sp引用表中的特定列,那么该列对我没有用处。 – pKay