在SQL Server中获取代码行(LOC)总数的最简单方法是什么?
时间:2020-03-05 18:56:42 来源:igfitidea点击:
我需要提供与系统关联的代码(LOC)
的行数的统计信息。应用程序部分很简单,但我还需要包括SQL Server数据库中驻留的所有代码。这将适用于存储过程,函数,触发器等。
我如何轻松获取该信息?可以通过查询系统的" tables \ sprocs"等来(准确地)使用TSQL吗?
解决方案
回答
就个人而言,我们可能只是使用SQL Server管理工具将对象编写脚本编写为文件,如果对象存在,它将在其中获得一些添加功能,以便首先进行删除操作。
回答
只需从syscomments中选择所有文本,然后计算我们有多少行。文本列是文本,我们实际上不能在Management Studio中看到它,因此我将编写如下程序或者Power Shell脚本:
$conn = new-object System.Data.SqlClient.SqlConnection("Server=server;Database=database;Integrated Security=SSPI") $cmd = new-object System.Data.SqlClient.SqlCommand("select text from syscomments", $conn) $conn.Open() $reader = $cmd.ExecuteReader() $reader.Read() | out-null $reader.GetString(0) | clip $reader.Close() $conn.Close()
粘贴到具有行数的编辑器中,我们就完成了。
回答
在Management Studio中,右键单击要用于行计数的数据库...选择"任务"->"生成脚本",我们可以在"脚本向导"中选择脚本选项以包含或者排除对象,只要我们设置了自己喜欢的方式即可生成到新的查询窗口