zoukankan      html  css  js  c++  java
  • 统计数据库中符合条件的表中记录的总数

    DECLARE   @tableName   VARCHAR ( 30 ), @selestr   NVARCHAR ( 100 )
    DECLARE   @i   int , @total   INT
    DECLARE ourcur CURSOR   FOR   SELECT name FROM sysobjects WHERE xtype = ' U '
    OPEN ourcur
    FETCH   NEXT   FROM ourcur INTO   @tableName
    SET   @total = 0
    WHILE   @@FETCH_STATUS = 0
    BEGIN
         
    IF   @tableName   LIKE statemen_1            -- 符合第一个条件的表
         BEGIN
            
    SET   @selestr = ' SELECT @m=COUNT(*) FROM ' + @tableName
            
    EXEC sp_executesql @selestr ,N ' @m INT OUTPUT ' , @i OUTPUT
            
    SET   @total = @total + @i
         
    END

         
    ELSE   IF   @tableName   LIKE statement_2       -- 符合第二个条件的表
         BEGIN
            
    SET   @selestr = ' SELECT @m=COUNT(*) FROM ' + @tableName
            
    EXEC sp_executesql @selestr ,N ' @m INT OUTPUT ' , @i OUTPUT
            
    SET   @total = @total + @i
         
    END

         
    ELSE   IF   @tableName   LIKE statement_3       -- 符合第三个条件的表
         BEGIN
            
    SET   @selestr = ' SELECT @m=COUNT(*) FROM ' + @tableName
            
    EXEC sp_executesql @selestr ,N ' @m INT OUTPUT ' , @i OUTPUT
            
    SET   @total = @total + @i
         
    END
         
    FETCH   NEXT   FROM ourcur INTO   @tableName
    END
    DEALLOCATE ourcur
    SELECT   @total   AS TotalDataNum                  -- 显示记录总数

    statement_1/_2/_3…可以插入多个条件来进行匹配操作,期货总的sql语句也可以替换成插入、更新等,批量处理,很方便!

  • 相关阅读:
    在struct 中使用string,赋值会报错
    添加telnet命令
    can't set blob value on that column
    Floating-point exception
    2014.01.13 今天目标,完结战斗系统中的已知各种细节
    hanframe开微博了
    Educational Codeforces Round 78 (Rated for Div. 2)D(并查集+SET)
    Codeforces Round #604 (Div. 2)D(构造)
    Codeforces Round #608 (Div. 2)D(贪心)
    【PAT甲级】1108 Finding Average (20分)
  • 原文地址:https://www.cnblogs.com/tristinjet/p/1599723.html
Copyright © 2011-2022 走看看