SQL_自动统计表中数据的条数

CREATE TRIGGER GetCount
on teachers
after insert
as
begin
    declare @totalCount int--表变量里面总共的变量条数
    declare @RowNo int--当前是多少行
    declare @tempId int--保存当前行的id
    declare @classCount int--保存当前班级的数量
    declare @temp1 table(indexid int identity(1,1) not null,id int)
    insert into @temp1 select ID from Students
    set @totalCount=@@ROWCOUNT
    set @RowNo=1
    while @RowNo <= @totalCount
    begin
        select @tempId=id from @temp1 where indexid = @RowNo
        select @classCount=COUNT(*) from Students where ClassName=@tempId
        update teachers set [email protected] where ID=@tempId
        set @RowNo = @RowNo+1
    end

end
时间: 2024-10-12 15:10:20

SQL_自动统计表中数据的条数的相关文章

ORACLE和SYBASE数据库中实现数据查询条数限制的SQL语句实现

一.概述 对于某些需要通过数据库与大量数据打交道的软件来说,处理性能相当的重要.为了保证软件能够将所有数据处理完而不至于崩溃,分批处理的思想应运而生.分批处理的具体做法是编写SQL语句,每次返回规定条数的数据给软件处理,待这一批数据处理完之后,再接着处理下一批. 本文通过对具体的数据库表(tb_employeeinfo)的操作过程,展示了ORACLE和SYBASE数据库中分批处理SQL语句的编写方法. 二.ORACLE数据库中的处理 首先,建立tb_employeeinfo表,其定义如下: be

高速查询hive数据仓库表中的总条数

Author: kwu 高速查询hive数据仓库中的条数.在查询hive表的条数,通常使用count(*).可是数据量大的时候,mr跑count(*)往往须要几分钟的时间. 1.传统方式获得总条数例如以下: select count(*) from ods.tracklog; 执行时间为91.208s 2.与关系库一样hive表也能够通过查询元数据来得到总条数: select d.NAME,t.TBL_NAME,t.TBL_ID,p.PART_ID,p.PART_NAME,a.PARAM_VAL

快速查询hive数据仓库表中的总条数

Author: kwu 快速查询hive数据仓库中的条数,在查询hive表的条数,通常使用count(*),但是数据量大的时候,mr跑count(*)往往需要几分钟的时间. 1.传统方式获得总条数如下: select count(*) from ods.tracklog; 2.与关系库一样hive表也可以通过查询元数据来得到总条数: <pre name="code" class="sql">select d.NAME,t.TBL_NAME,t.TBL_I

查找XTWL_TB中的重复条数

(1)规格型号不为空:select * from sm_zdb_xtwl_TB t where exists( select 1 from sm_zdb_xtwl_TB where ID != t.ID and WLMC=t.WLMC and GGXH=t.GGXH) (2)规格型号为空:select t.id from sm_zdb_xtwl_TB t where exists( select 1 from sm_zdb_xtwl_TB where ID != t.ID and WLMC=t.

两种方式 获取数据库某个表中所有的数据数量条数

public int getAllEmps(){        //第一种方式 纯JDBC方式//        Connection conn=null;//        PreparedStatement ps=null;//        ResultSet rs=null;//        try {//            conn=C3Pool.getConnection();//            String sql="select count(*) from emp&

一次性完成分页查询并且附带数据总条数

通常mysql获取查询记录总数我们使用如下语句:SELECT COUNT(*) FROM users WHERE k='avs';SELECT id FROM goods WHERE k='avs' LIMIT 10;但是记录总数总是需要单独的语句来查询,例如在分页查询程序中就有这样的问题,其实mysql可以在一次查询中获取记录和总数的,这就是要使用SQL_CALC_FOUND_ROWS参数,使用方法如下:SELECT SQL_CALC_FOUND_ROWS goods WHERE k='avs

数据库实用脚本1---查询数据库中有数据的表名和表中数据的行数

create table #Temp ( Name varchar(30), Num int ) declare @Name varchar(30) declare @Sql varchar(1000) declare D_cursor Cursor for select name from sysobjects where xtype='u' open D_cursor fetch Next from D_Cursor into @Name while @@Fetch_Status=0 beg

关于各个数据库中限制取出数据条数的简餐操作

今天去面试之后,面试的小哥给了个比较简单的问题,但是自己没有答上来. 问题: SQL SERVER中如何限制取出数据的条数: 1. Oracle中的操作是:rownumber关键字限制: SELECT * FROM tbl_name ROWNUMBER num 2. Mysql中的限制条数是: SELECT * FROM tbl_name LIMIT num; 3. SQL SERVER 中操作是: SELECT * FROM tbl_name TOP num;

分页查询之数量总条数

最近在做数据分页查询.在查询数据条数时直接做了一个如下封装: 如原SQL为:select * from a left outer jonn b on a.id=b.id 之类的查询. 为得到数据总条数然后封装为: select coun(*) from  (select * from a left outer jonn b on a.id=b.id) 在测试的过程中(Oralce)中发现两者的执行计划是一致的,所以说或者的效率并不比前者差(结论有待确认,也欢迎专家指导). 附录: SQL语句执行