zoukankan      html  css  js  c++  java
  • sql 双层游标嵌套

       --创建存储数据临时表

      CREATE TABLE Temp_Dep(TEMP_depid varchar(50),TEMP_depname VARCHAR(50),TEMP_NAME varchar(5000))

       --向临时表中插入前三列数据

       INSERT INTO Temp_Dep(TEMP_depid,TEMP_depname) SELECT DISTINCT A.DEPT_NO,B.DEPT_NOTE FROM dbo.HES_EMPLOYEE A JOIN dbo.HES_DEPT

      B ON A.DEPT_NO = B.DEPT_NO WHERE STATUS IN ('zaizhi','shiyong')

        --创建查询小组编号的游标

        DECLARE Somedepid_cusor CURSOR FOR

        SELECT DISTINCT TEMP_depid FROM Temp_Dep

       OPEN  Somedepid_cusor

       FETCH NEXT FROM Somedepid_cusor INTO @TEMP_depid

       WHILE @@FETCH_STATUS=0

       BEGIN

            --创建查询员工数据游标

            SET @TEMP_SomeNAME=''

            DECLARE SomeNAME_cusor CURSOR FOR

             SELECT NAME FROM dbo.HES_EMPLOYEE WHERE DEPT_NO=@TEMP_depid AND STATUS IN ('zaizhi','shiyong')

            OPEN  SomeNAME_cusor

            FETCH NEXT FROM SomeNAME_cusor INTO @TEMP_NAME

            WHILE @@FETCH_STATUS=0

            BEGIN

                SET  @TEMP_SomeNAME=RTRIM(@TEMP_SomeNAME)+RTRIM(@TEMP_NAME)+','

                FETCH NEXT FROM SomeNAME_cusor INTO @TEMP_NAME

            END

            CLOSE SomeNAME_cusor

            DEALLOCATE SomeNAME_cusor

           --更新数据

          UPDATE dbo.Temp_Dep SET TEMP_NAME=@TEMP_SomeNAME WHERE TEMP_depid=@TEMP_depid

          FETCH NEXT FROM Somedepid_cusor INTO @TEMP_depid

       END

       CLOSE Somedepid_cusor

       DEALLOCATE Somedepid_cusor

      --查询数据

       SELECT * FROM Temp_Dep

  • 相关阅读:
    关于嵌套循环的循环初始化语句问题:
    自己写的小程序
    计算1-1/3+1/5-1/7+···的前n项和
    终于弄好了 homework-09
    现代C++作业2 与 围棋homework-06
    C++11 能好怎?
    黄金点游戏之客户端(homework-05)
    惊艳的随机化方法 -World Search (homework-04)
    GUI、模块化与结对编程(homework-03)
    最大二位子数组和问题(homework-02)
  • 原文地址:https://www.cnblogs.com/dekevin/p/2493478.html
Copyright © 2011-2022 走看看