`

MS SQL Server2005存储过程、游标、游标嵌套综合例子

阅读更多
MS SQL Server2005存储过程、游标、游标嵌套综合例子:

放在这里备忘》》》

create proc decisionPathRefSchemes
as
begin
	DECLARE @pathId varchar(64)
	DECLARE @schemeId varchar(64)
	DECLARE @flag integer
	DECLARE @seq integer
	DECLARE mycursor cursor  
		for	select id from imps_pd_decision_path where surfaceType = '沥青路面' and roadGrade = '高速、一级、二级'
	DECLARE mycursor2 cursor  
		for	select id from imps_pd_decision_scheme 
		
	set @seq = 10000
	
	open mycursor 
	fetch next from mycursor into @pathId
	while @@fetch_status=0
	begin 
		set @flag = 0
		select @flag=1 from imps_pd_path_ref_scheme where pathId=@pathId
		print @pathId
		print @flag
		if @flag = 0 
		begin
			/*使用游标嵌套*/
			open mycursor2
			fetch next from mycursor2 into @schemeId
			while @@fetch_status=0
			begin
				insert into imps_pd_path_ref_scheme (id,pathId,schemeId) values (convert(varchar(64), @seq),@pathId,@schemeId)
				set @seq = @seq + 1	
				fetch next from mycursor2 into @schemeId
			end
			close mycursor2
			
			/*
			不用游标时:
			insert into imps_pd_path_ref_scheme (id,pathId,schemeId) values (convert(varchar(64), @seq),@pathId,'8a819be52ad6a9c0012ad6cd457b0001')
			set @seq = @seq + 1
			insert into imps_pd_path_ref_scheme (id,pathId,schemeId) values (convert(varchar(64), @seq),@pathId,'8a819be52ad6a9c0012ad6ce234a0003')
			set @seq = @seq + 1
			insert into imps_pd_path_ref_scheme (id,pathId,schemeId) values (convert(varchar(64), @seq),@pathId,'8a819be52ad6a9c0012ad6cf087c0005')
			set @seq = @seq + 1
			insert into imps_pd_path_ref_scheme (id,pathId,schemeId) values (convert(varchar(64), @seq),@pathId,'8a819be52ad6a9c0012ad6cf4b230006')
			set @seq = @seq + 1
			insert into imps_pd_path_ref_scheme (id,pathId,schemeId) values (convert(varchar(64), @seq),@pathId,'8a819be52ad6a9c0012ad6cf95aa0007')
			set @seq = @seq + 1
			insert into imps_pd_path_ref_scheme (id,pathId,schemeId) values (convert(varchar(64), @seq),@pathId,'8a819be52ad6a9c0012ad6cfd5920008')
			set @seq = @seq + 1
			insert into imps_pd_path_ref_scheme (id,pathId,schemeId) values (convert(varchar(64), @seq),@pathId,'8a819be52ad6a9c0012ad6d023160009')
			set @seq = @seq + 1
			insert into imps_pd_path_ref_scheme (id,pathId,schemeId) values (convert(varchar(64), @seq),@pathId,'8a819be52ad6a9c0012ad6d06b4b000a')
			set @seq = @seq + 1
			insert into imps_pd_path_ref_scheme (id,pathId,schemeId) values (convert(varchar(64), @seq),@pathId,'8a819be52ad6a9c0012ad6d2c87a000b')
			set @seq = @seq + 1
			insert into imps_pd_path_ref_scheme (id,pathId,schemeId) values (convert(varchar(64), @seq),@pathId,'8a819be52ad6a9c0012ad6d2f900000c')
			set @seq = @seq + 1
			insert into imps_pd_path_ref_scheme (id,pathId,schemeId) values (convert(varchar(64), @seq),@pathId,'8a819be52ad6a9c0012ad6d32cf1000d')
			set @seq = @seq + 1
			insert into imps_pd_path_ref_scheme (id,pathId,schemeId) values (convert(varchar(64), @seq),@pathId,'8a819be52ad6a9c0012ad6d36bef000e')
			set @seq = @seq + 1
			insert into imps_pd_path_ref_scheme (id,pathId,schemeId) values (convert(varchar(64), @seq),@pathId,'8a819be52ad6a9c0012ad6d3ce44000f')
			set @seq = @seq + 1
			insert into imps_pd_path_ref_scheme (id,pathId,schemeId) values (convert(varchar(64), @seq),@pathId,'8a819be52ad6a9c0012ad6d419b50010')
			set @seq = @seq + 1
			insert into imps_pd_path_ref_scheme (id,pathId,schemeId) values (convert(varchar(64), @seq),@pathId,'8a819be52ad6a9c0012ad6d541bc0013')
			set @seq = @seq + 1
			insert into imps_pd_path_ref_scheme (id,pathId,schemeId) values (convert(varchar(64), @seq),@pathId,'8a819be52afa3280012afae7baaa0001')
			set @seq = @seq + 1
			*/
		end
		fetch next from mycursor into @pathId
	end
	/* 嵌套的游标先销毁*/
	deallocate mycursor2
	close mycursor
	/* 外层游标后销毁*/
	deallocate mycursor
end

/* 执行存储过程*/
--exec decisionPathRefSchemes

/* 删除存储过程*/
--drop proc decisionPathRefSchemes

0
0
分享到:
评论

相关推荐

    游标嵌套 STATUS 异常 存储过程

    一个存储过程的示例,简单展示了如下...3,游标嵌套。 4,对于嵌套游标STATUS的互相影响问题的解决办法《注意001和002的注释位置,fetch的位置》。 对于初学者,存储过程重要的几个方面,都有展示到,大虾们请忽略。

    SQL对游标嵌套的应用

    SQL对游标嵌套的应用 学校宿舍管理系统(实际上是个子系统): 包括以下几个表: 楼栋表;楼层表;房间表;学员住宿表 脚本如下: --楼栋表

    SQL Server存储过程之嵌套游标

    下面是一个订单取消的含2个游标的存储过程 set ANSI_NULLS ON set QUOTED_IDENTIFIER ON go ALTER PROCEDURE [dbo].[CancelOrderBySystem] AS BEGIN declare /*声明变量*/ @Status varchar(100), –状态 ...

    SQL SERVER游标示例

    完整的SQL SERVER双层游标嵌套示例

    Microsoft_SQL_Server_2005技术内幕:T-SQL查询.pdf

    本书是Inside Microsoft SQL Server 2005系列四本著作中的一本。它详细介绍了T-SQL的内部体系结构,包含了非常全面的编程参考,提供了使用Transact-SQL(T-SQL)的专家级指导,囊括了非常全面的编程参考,揭示了基于...

    mysql 多个游标依次执行

    mysql存储过程 多个游标循环(依次执行,非嵌套循环)REPEAT循环。有需要的可自行下载。

    Mysql存储过程循环内嵌套使用游标示例代码

    BEGIN -- 声明变量 ... /** 声明游标,并将查询结果存到游标中 **/ DECLARE c_borrow CURSOR FOR SELECT ID from rocky_borrow WHERE BORROWTYPE = 2 AND PUBLISH_TIME >= UNIX_TIMESTAMP('2014-

    SQL Server 2008管理员必备指南(超高清PDF)Part3

    4.3 通过存储过程配置SQL Server 4.3.1 使用SQL Server Management Studio查询 4.3.2 执行查询和改变设置 4.3.3 检查和设置配置参数 4.3.4 使用ALTER DATABASE改变设置 第Ⅱ部分 SQL Server 2008的系统管理 第5章 ...

    SQL Server 2008管理员必备指南(超高清PDF)Part1

    4.3 通过存储过程配置SQL Server 4.3.1 使用SQL Server Management Studio查询 4.3.2 执行查询和改变设置 4.3.3 检查和设置配置参数 4.3.4 使用ALTER DATABASE改变设置 第Ⅱ部分 SQL Server 2008的系统管理 第5章 ...

    sqlserver存储过程

    -----------------------------------带游标参数存储过程------------------------------------- if (object_id('proc_cursor', 'P') is not null) drop proc proc_cursor go create proc proc_cursor @cur cursor...

    SQL Server 2008管理员必备指南(超高清PDF)Part2

    4.3 通过存储过程配置SQL Server 4.3.1 使用SQL Server Management Studio查询 4.3.2 执行查询和改变设置 4.3.3 检查和设置配置参数 4.3.4 使用ALTER DATABASE改变设置 第Ⅱ部分 SQL Server 2008的系统管理 第5章 ...

    SQLServer2008查询性能优化 2/2

    书名: SQLServer2008查询性能优化 作者: 弗里奇(Grant Fritchey) 出版社: 人民邮电出版社 出版日期: 2010年8月1日 ISBN: 9787115230294 编辑推荐 《SQL Server 2008查询性能优化》为你提供了处理查询性能所...

    SQLServer2008查询性能优化 1/2

    书名: SQLServer2008查询性能优化 作者: 弗里奇(Grant Fritchey) 出版社: 人民邮电出版社 出版日期: 2010年8月1日 ISBN: 9787115230294 编辑推荐 《SQL Server 2008查询性能优化》为你提供了处理查询性能所...

    SQL.Server.2008管理员必备指南.part2.rar(2/4)

     4.3 通过存储过程配置SQL Server 88  4.3.1 使用SQL Server Management Studio查询 88  4.3.2 执行查询和改变设置 90  4.3.3 检查和设置配置参数 91  4.3.4 使用ALTER DATABASE改变设置 95  第Ⅱ部分 SQL ...

    SQL.Server.2008管理员必备指南.part1.rar(1/4)

     4.3 通过存储过程配置SQL Server 88  4.3.1 使用SQL Server Management Studio查询 88  4.3.2 执行查询和改变设置 90  4.3.3 检查和设置配置参数 91  4.3.4 使用ALTER DATABASE改变设置 95  第Ⅱ部分 SQL ...

    Oracle 游标的使用

    在PL/SQL中可以使用游标处理数据。通过使用游标可以大大提高PL/SQL程序对数据处理的能力。在Oracle 9i及其以后的版本中,还增加了使用BULK COLLECT子句批量绑定数据和使用CURSOR表达式实现嵌套游标的功能。本章将...

    精通SQL--结构化查询语言详解

    15.3 sql server中的存储过程和函数 308 15.3.1 系统存储过程 308 15.3.2 使用create procedure创建存储过程 309 15.3.3 使用execute语句调用存储过程 310 15.3.4 使用create function创建函数 312 15.3.5 使用...

    SQL.Server.2008管理员必备指南.part4.rar(4/4)

     4.3 通过存储过程配置SQL Server 88  4.3.1 使用SQL Server Management Studio查询 88  4.3.2 执行查询和改变设置 90  4.3.3 检查和设置配置参数 91  4.3.4 使用ALTER DATABASE改变设置 95  第Ⅱ部分 SQL ...

    精通SQL 结构化查询语言详解

    15.3 SQL Server中的存储过程和函数  15.3.1 系统存储过程  15.3.2 使用CREATE PROCEDURE创建存储过程 15.3.3 使用EXECUTE语句调用存储过程  15.3.4 使用CREATE FUNCTION创建函数  15.3.5 使用Enterprise ...

Global site tag (gtag.js) - Google Analytics