如何从数据库获取视图的行数?

2024-04-17

我正在尝试创建一个自定义视图,以获取数据库所有视图和表的行数。

在 SQL Server 中获取表的计数是该死的

SELECT TABLE_SCHEMA,
       TABLE_NAME = TABLES.TABLE_NAME,
       RECORD_COUNT = MAX(SYSINDEXES.ROWS)
FROM   SYS.SYSINDEXES "SYSINDEXES",
       INFORMATION_SCHEMA.TABLES "TABLES"
WHERE  TABLES.TABLE_NAME = OBJECT_NAME(SYSINDEXES.ID)
       AND TABLES.TABLE_TYPE = 'BASE TABLE'
GROUP  BY TABLES.TABLE_SCHEMA,
          TABLES.TABLE_NAME  

现在,我需要获取 VIEWS 的行数

我觉得唯一的方法是计算视图中的行数 IE。count(*) from view_name

但是,我找不到一种方法来获取视图的行数以及 view_name、table_schema 等。

这方面的任何进展都会有所帮助。


嗯,它不是很漂亮,但这应该可以解决问题。

这适用于单个数据库,因为我使用系统视图“all_views”来获取数据。我确信如果您想要其他东西,它可以进行调整。

我还通过“schema_id”限制了要返回计数的视图。您可以看看这个并确定什么最适合您。

最后,我刚刚将结果输出出来,以便您在 Management Studio 中运行时可以查看它们。您可能希望将结果插入到表或其他内容中。如果是这样,只需将动态查询从选择更改为插入即可。

因此,无需进一步告别:

SET NOCOUNT ON

DECLARE   @ViewName AS nVarChar(128)
        , @Query AS nVarChar(500)

/* Declare Cursor */
DECLARE Cur_Views CURSOR
    FOR
    SELECT  name
        FROM    [sys].[all_views] x
        WHERE   x.schema_id = 1

-- Loop through the views.
OPEN Cur_Views

-- Fetch the first view
FETCH NEXT FROM Cur_Views
    INTO      @ViewName

WHILE   @@Fetch_Status = 0 BEGIN
    -- Set up our dynamic sql
    SELECT  @Query = 'SELECT COUNT(*) AS [Count] FROM ' + @ViewName
    -- Print the query we're executing for debugging purposes
    -- PRINT @Query
    -- Execute the dynamic query
    EXECUTE(@Query)

    -- Fetch subsequent views
    FETCH NEXT FROM Cur_Views
        INTO      @ViewName

-- Loop back to the beginning
END -- WHILE    @@Fetch_Status = 0 BEGIN

-- Close the cursor
CLOSE Cur_Views

-- Dispose of the cursor
DEALLOCATE Cur_Views

GO
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何从数据库获取视图的行数? 的相关文章

  • SQL SELECT 在父亲 ID 组织树中查找循环引用?

    带有循环引用的 乐趣 假设我有一个表 ELEMENTS 其中包含元素的层次结构 由父 ID 建模 对于根来说 父亲 ID 字段为空 所有其他记录都有一个非空父 id 和 自动排序的 主键 ID 的父元素 例如 使用 SELECT FROM
  • 包含对 char(13) 不满意

    为什么不会SSMS为我处理这个脚本 DECLARE containsReturn AS CHAR 500 email protected cdn cgi l email protection email protected cdn cgi
  • .NET 中的嵌套事务

    我怎样才能执行与此等效的操作 我的理解是 这对于 TransactionScopes 来说是不可能的 https stackoverflow com questions 2741988 nested child transactionsco
  • 具有动态参数的 Oracle Lag 函数

    我有一个具体的问题 我有一个包含无效值的表 我需要替换无效值 此处0 与之前的值大于0 困难是 使用更新或插入对我来说是不合适的 游标和更新就可以了 我唯一的方法是使用 Select 语句 当我使用lag col1 1 当情况发生时 我只得
  • SSDT-BI 可以与 SQL Server 2008 R2 一起使用吗?

    有人可以告诉我在 Visual Studio 2012 或 2013 中开发的 SSIS 包是否可以在 2008r2 服务器上运行吗 如果是 2008r2服务器上还需要安装其他软件吗 这里不关心部署 我只想通过 sql 代理作业在 2008
  • SQL 按行计数模进行分组

    我有以下示例数据 Id Name Quantity 1 Red 1 2 Red 3 3 Blue 1 4 Red 1 5 Yellow 3 因此 对于此示例 总共有 5 个红色 1 个蓝色和 3 个黄色 我正在寻找一种按颜色对它们进行分组的
  • 如何对 SQL 查询进行单元测试?

    我有课DBHandler它接受一个查询 通过 SQL Server 运行它 检查错误并返回结果 我如何对这个类进行单元测试 Edit 我会尽量说得更准确 DBHandler负责将查询传递到服务器 为了测试它是否确实做到了这一点 抛出正确的异
  • Sql Server 2005 将列名放在方括号中

    我最近将数据库从 Sql Server 2000 迁移到 Sql Server 2005 在表设计器中 它坚持将方括号放在名为 Content 的列周围 我在 Sql Server 的保留字列表中没有看到 Content 所以我不明白它为什
  • Oracle 10 中的本地临时表(适用于存储过程的范围)

    我是甲骨文新手 我需要在存储过程中处理大量数据 我正在考虑使用临时表 我正在使用连接池 并且该应用程序是多线程的 有没有一种方法可以为每次调用存储过程创建不同的表实例来创建临时表 以便来自多个存储过程调用的数据不会混淆 你说你是 Oracl
  • Oracle 求两个时间戳的平均值

    我不明白这有多难 但我似乎无法在任何地方找到解决方案 它是针对日期完成的 但我看不到让它适用于时间戳 我正在尝试做 select avg last timestmp ref timestmp as average from param 它一
  • 如何在 postgresql 的“tablefunc”查询中包含空值?

    我正在尝试使用crosstab http www postgresql org docs 9 1 static tablefunc html函数于postgresql创建一个pivot table 但是 我很难理解如何在查询中构建 SQL
  • SQL查询;水平到垂直

    我遇到了涉及将水平行转换为垂直行的 SQL 查询 SQL Server 以下是我的数据 No Flag 1 Flag 2 Flag 3 A 1 2 3 B 4 1 6 转换后 该表应为 No FlagsName Flag value A F
  • MySQL Select 查询 - 仅获取值的前 10 个字符

    好的 这就是问题所在 我有一个包含一些列的表 主题 是其中一列 无论 主题 字段包含一个包含 100 个字母的字符串 我都需要从 主题 字段获取前 10 个字母 例如 Table tbl 列 id subject value SQL查询 S
  • 何时在 SQL 语句中使用单引号?

    我知道当我处理 TEXT 类型的数据时应该使用它 我猜是那些回退到 TEXT 的数据 但这是唯一的情况吗 Example UPDATE names SET name Mike WHERE id 3 我正在用 C 编写 SQL 查询自动生成
  • 我可以计算 SQL Server 中两个日期之间有多少个周末吗?

    我正在计算为一份报告租用设备的收入 其中 周末的招聘成本会比平日增加10 那么我如何计算两个日期之间有多少个周末呢 在报告查询中 我也不能使用DECLARE 有人可以帮我做到这一点吗 太感谢了 这应该有效 DECLARE StartDate
  • 如何在多个Postgresql数据库之间共享表

    我的 Web 应用程序有多个部署 每个部署都是一个具有唯一 URL 的唯一站点 每个部署都有不同的数据 UI 等 但有非常相似的 Postgresql 数据库结构 带有 PostGIS 这些数据库都位于同一数据库服务器上 我希望来自 1 个
  • UNION ALL mysql 子句中的行默认顺序?..我的意思是,首先提取哪一行?

    例如 如果我有一个真正简单的查询 选择1 联合所有 选择2 然后通过 Perl 或 PHP 获取行 我会将 1 作为第一行 将 2 作为第二行吗 这种行为在任何地方都有描述吗 Thanx 没有默认顺序 无论是在表中还是在查询中 除非您使用
  • 根本原因 java.lang.ClassNotFoundException: com.mysql.jdbc.Driver

    我有这个小代码用于将我的 jsp 连接到我的 mysql 数据库 String driver com mysql jdbc Driver Class forName driver String url jdbc mysql localhos
  • Python Peeweeexecute_sql() 示例

    我使用 Peewee 模块作为我的项目的 ORM 我看了整个文档 没有明确的 有关如何处理 db execute sql 结果的示例 我跟踪代码 只能发现db execute sql 返回游标 有谁知道如何处理光标 例如迭代它并获取 返回复
  • 如何根据某些条件跳过 MSSQL 游标中的一行(迭代)?

    如何根据某些条件在 MSSQL 游标中跳过一行 迭代 我有一个可迁移数千条记录的 DTS 并且根据某些条件 某些记录不需要迁移 因为它们是重复的并且想要跳过这些记录 知道如何在 MSSQL Cursor 中完成此操作吗 我想最简单的方法是在

随机推荐

  • Databricks - 不为空,但它不是 Delta 表

    我在 Databricks 上运行查询 DROP TABLE IF EXISTS dublicates hotels CREATE TABLE IF NOT EXISTS dublicates hotels 我试图理解为什么我收到以下错误
  • 迁移到 SvelteKit 的新路由系统

    不知道你怎么想 但我听说过 SvelteKit 中的这个新路由系统 我第一次听说这个是与 error svelte我在此处找到的文件官方文档 https kit svelte dev docs routing error 不久 我还看到了其
  • Docker-nginx-反向代理:使用 docker-compose 构建时在上游找不到主机

    我正在使用 NGINX 容器将某些请求重定向到另一个容器 运行 docker compose up d 时 我收到以下错误 2019 09 26 18 05 00 emerg 1 1 在 etc nginx nginx conf 10 中的
  • 气流中的execution_date:需要作为变量访问

    我真的是这个论坛的新手 但有一段时间 我一直在为我们公司玩气流 抱歉 如果这个问题听起来很愚蠢 我正在使用一堆 BashOperators 编写一个管道 基本上 对于每个任务 我想简单地使用 curl 调用 REST api 这就是我的管道
  • 将 JSON 值列表分解为 SNOWFLAKE 数据库表中的行

    我有一个如下图所示的表格 它基本上是一个 JSON 经过解析后得到下面的输出 现在我希望将 City 和 order 列中的值列表拆分为行 有人可以帮我吗 期望的输出如下 这是一种方法 首先去掉 和 因为 city 列中的双引号不包含单个数
  • PostgreSQL citext 索引与较低表达式索引性能

    我想决定使用citext带有索引的列或使用text索引为 on 的列lower 我执行了一些基准测试 令我惊讶的是 索引打开的搜索lower 导致索引扫描 但在citext如果我只进行索引扫描 我本来期待索引lower 也导致仅索引扫描 此
  • android中如何释放位图内存

    在我们的程序中 我们使用了大量的图像 我们在活动和片段中取消绑定Drawables 如下所示 protected void unbindDrawables View view if view null if view getBackgrou
  • Slim 3 - 如何添加404模板?

    在 Slim 2 中 我可以轻松地覆盖默认的 404 页面 ref http help slimframework com discussions problems 4400 templatespath doesnt change app
  • 使用Sprite Kit如何启用iAd?

    在IOS 7中 我们可以非常轻松地启用iAd 使用 self canDisplayBannerAds YES in code 查看是否加载UIViewController的 但是 我无法在我的 ViewController 加载 SKSce
  • python从2个列表中删除重复项

    我正在尝试从 2 个列表中删除重复项 所以我写了这个函数 a abc def ijk lmn opq rst xyz b ijk lmn opq rst 123 456 for i in b if i in a print found i
  • 将 ZXing 库直接集成到我的 Android 应用程序中

    我写这篇文章纯粹是出于绝望 我被指派为 Android 1 6 手机制作一个独立的条形码扫描仪 作为概念证明 为此我发现了 ZXing 库 我用谷歌搜索过 在 StackOverflow 上阅读相关主题 使用常识等等 似乎没有任何帮助 我就
  • 为什么discord中的客户端在node.js中出现输出错误:TypeError: [CLIENT_MISSING_INTENTS]?

    我创建了一个目录 然后添加了一个 package json 文件 我在 package json 文件上安装了 dotenv 和 Discord js 我在目录中创建了一个 src 文件夹 然后将 bot js 文件放入此 src 文件夹中
  • 无状态 Spring JWT 应用程序 + EnableOAuth2Client

    我在这个解决方案上花费了 50 多个小时 非常感谢您的任何意见 我有一个使用 Angular Spring JWT 无状态身份验证 myApp 的 JHipster 4 x 生成的应用程序 我正在将经过身份验证的 myApp 用户的第 3
  • 静态定位元素影响后续同级元素的绝对位置

    我知道任何元素位置 绝对将相对于具有位置属性的最近祖先进行定位 例如absolute or relative 例如 在各种答案中都提到了这一点here https stackoverflow com questions 10487292 p
  • SwiftUI ViewBuilder 块中 switch 语句的替代方案?

    2020 年 6 月 23 日编辑 从 Xcode 12 开始 ViewBuilder 将支持 switch 和 if let 语句 我一直在尝试使用 SwiftUI 复制我的应用程序 它有一个 RootViewController 根据枚
  • HDFS 在大量小文件和 128 Mb 块大小上的行为

    我有很多 多达数十万个 小文件 每个文件 10 100 Kb 我的 HDFS 块大小等于 128 MB 我的复制因子等于 1 为每个小文件分配 HDFS 块有什么缺点吗 我见过相当矛盾的答案 答案说最小的文件占用整个块 https stac
  • 如何在 C++ 中使用 matlab tic toc?

    在Matlab中 tic do something toc 我尝试拥有此功能 define tic double tic t clock define toc std cout lt lt clock tic t CLOCKS PER SE
  • 多个异步 AJAX 调用最佳实践

    我有一个关于在单个页面上进行多个 AJAX 调用的 最佳实践 的问题 我需要异步进行 5 个独立的调用 我知道 ajax 本质上是异步的 但我很好奇是否有一种 更干净 或 更好 的方法来执行多个 AJAX 调用 下面是包含多个 AJAX 调
  • 如何以编程方式在视图中设置样式属性

    我使用以下代码从 XML 中获取视图 Button view Button LayoutInflater from this inflate R layout section button null 我想为按钮设置一个 样式 我怎样才能在j
  • 如何从数据库获取视图的行数?

    我正在尝试创建一个自定义视图 以获取数据库所有视图和表的行数 在 SQL Server 中获取表的计数是该死的 SELECT TABLE SCHEMA TABLE NAME TABLES TABLE NAME RECORD COUNT MA