SqlServer和Oracle中一些常用的sql语句7 游标

SqlServer和Oracle中一些常用的sql语句7 游标,第1张

概述declare db_cursor5 scroll cursor for select amazonOrderid,Name,AddressLine1 from dbo.OrdersAddress --声明游标 declare @t varchar(max) --定义变量 declare
declare db_cursor5 scroll cursor for select amazonorderID,name,Addressline1 from dbo.OrdersAddress   --声明游标  declare @t varchar(max)                                                   --定义变量  declare @t1 varchar(max)  declare @t2 varchar(max)  open db_cursor5                                                          --打开游标  Fetch Next From db_cursor5 Into @t,@t1,@t2    --提取游标中的数据保存到变量中     while(@@fetch_status= 0)        begin               Fetch Next From db_cursor5 Into @t,@t2             /*这里放置循环 *** 作逻辑*/            print (@t+'--------'+@t1+'--------'+@t2)        end close db_cursor5                                     --关闭游标  deallocate db_cursor5                                --释放游标  /*105-3393966-8059426--------casey brown--------9453 PICKFORD PL115-3011976-1227434--------Therese Hecker--------2210 Glenwood Rd105-3393966-8059426--------casey brown--------9453 PICKFORD PL105-3393966-8059426--------casey brown--------9453 PICKFORD PL*/
ALTER PROC [dbo].[SynchData_SP]       AS	declare db_cursor scroll cursor for select [userID],[username],[status] from demotemp  --声明游标    	declare @t1 int      --定义变量    	declare @t2 varchar(max)    	declare @t3 varchar(max)    	open db_cursor     --打开游标    	Fetch Next From db_cursor Into @t1,@t2,@t3    --提取游标中的数据保存到变量中   		while(@@fetch_status= 0)  			begin     				/*目标表存在则修改,不存在则新增*/  				IF NOT EXISTS (SELECT userID FROM demo  WHERE userID=@t1)					BEGIN						INSERT INTO demo(userID,username,STATUS) VALUES(@t1,@t3 ) 					END				ELSE					BEGIN						UPDATE demo SET  STATUS=@t3 WHERE userID=@t1					END								Fetch Next From db_cursor Into @t1,@t3   							end   	close db_cursor		--关闭游标    	deallocate db_cursor   --释放游标      
declare db_cursor4  scroll cursor for select * from  供应商  --声明游标open db_cursor4                                              --打开游标fetch first from db_cursor4                 --读取游标中的第一条数据记录fetch next from db_cursor4                  --读取游标中的下一条数据记录fetch last from db_cursor4                  --读取游标中的最后一条数据记录fetch prior from db_cursor4                 --读取游标中的上一条数据记录fetch absolute 2 from db_cursor4            --读取游标中的第二条数据记录fetch relative 2 from db_cursor4            --读取游标当前记录下方的第二条数据记录close db_cursor4                            --关闭游标deallocate db_cursor4                       --释放游标--利用变量输出游标中的字段值                                            declare db_cursor5 scroll cursor for select 职工号,姓名,工资 from 职工   --声明游标declare @t varchar(10)                                                   --定义变量declare @t1 varchar(10)declare @t2 intopen db_cursor5                                                          --打开游标fetch absolute 4 from db_cursor5 into @t,@t2     --提取游标中的数据保存到变量中select @t as 职工号,@t1 as 职工名,@t2 as 工资        --输出变量中的值close db_cursor5                                     --关闭游标deallocate db_cursor5                                --释放游标--利用游标判断记录是否存在declare db_cursor8 cursor scroll for  select * from 职工 where 职工号='zg2'open db_cursor8if @@fetch_status=0            --if条件语句  print '存在该记录'else  print '不存在该记录'close db_cursor8deallocate db_cursor8--在存储过程中使用游标create procedure db_mypro @x intasbegin  declare mycursor scroll cursor  for  select * from 职工  open mycursor  fetch absolute @x from mycursor  close mycursor  deallocate mycursorend--显示职工表中的第五条记录execute db_mypro 5  
总结

以上是内存溢出为你收集整理的SqlServer和Oracle中一些常用的sql语句7 游标全部内容,希望文章能够帮你解决SqlServer和Oracle中一些常用的sql语句7 游标所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/1174199.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-02
下一篇 2022-06-02

发表评论

登录后才能评论

评论列表(0条)

保存