sql 双层游标嵌套
2012-05-09 22:59
246 查看
--创建存储数据临时表
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
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
相关文章推荐
- pl/sql存储过程中游标嵌套的实现方法
- mysql开发之---使用游标双层嵌套对总表进行拆分为帖子表和回复表
- SQL里的游标嵌套
- pl/sql存储过程中游标嵌套的实现方法
- mysql开发之---使用游标双层嵌套对总表进行拆分为帖子表和回复表
- 游标嵌套游标的SQL
- SQL游标(循环)单层和双层
- SQL 双层 not exist 嵌套
- 嵌套游标及动态SQL
- 动态SQL,嵌套游标,INSTR,SendMail
- SQL SERVER中SQL中游标嵌套循环的示例
- sql中嵌套游标
- pl/sql存储过程中游标嵌套的实现方法
- pl/sql存储过程中游标嵌套的实现方法
- SQL 嵌套游标的使用
- 避免在 PL/SQL 中使用嵌套游标查询
- SQL游标嵌套例子+游标嵌套存储过程
- T-sql游标循环体内再嵌套游标的存储过程
- Ms SQL Server 游标嵌套 初始化数据
- 游标嵌套游标的SQL