Sql游标

DECLARE @ID varchar(50) 
declare @resourceID varchar(50)
DECLARE My_Cursor CURSOR --定义游标
FOR (SELECT ID,resourceID FROM dbo.Resource_Main) --查出需要的集合放到游标中
OPEN My_Cursor; --打开游标
FETCH NEXT FROM My_Cursor INTO @ID,@resourceID; 
WHILE @@FETCH_STATUS = 0
    BEGIN
    print @ID;
        update Resource_Attach_Link set [email protected] where [email protected]
        FETCH NEXT FROM My_Cursor INTO @ID,@resourceID;  --读取下一行数据(将MemberAccount表中的UserId放到@UserId变量中)
    END
CLOSE My_Cursor; --关闭游标
DEALLOCATE My_Cursor; --释放游标
GO

时间: 2024-10-06 10:51:57

Sql游标的相关文章

用SQL游标解决经典的1+2+...+100的问题!

以前从来没接触过SQL游标,今天第一次学习,就想到了编程语言里经典的1+2+...+100的问题. 环境是SqlServer2008. 建表语句: CREATE TABLE [dbo].[tCursor]( [ID] [int] NOT NULL, [Sum] [int] NULL) ON [PRIMARY] 然后填充ID为1~100,Sum为0. declare @i int set @i=1 while(@i <=100) begin insert into tCursor (ID,[Sum

SQL 游标的应用

----------------SQL游标应用-----------------if object_id('tempdb..#test0001') is not null drop table #test0001---------物料临时表create table #test0001(ItemCode nvarchar(30)----物料代码 ,SL DEC(19,3)----物料所需数量 ,RowsID Bigint----用于循环物料 )if object_id('tempdb..#test

从一个小例子认识SQL游标

原文:从一个小例子认识SQL游标 1    什么是游标: 关系数据库中的操作会对整个行集起作用. 例如,由 SELECT 语句返回的行集包括满足该语句的 WHERE 子句中条件的所有行. 这种由语句返回的完整行集称为结果集. 应用程序,特别是交互式联机应用程序,并不总能将整个结果集作为一个单元来有效地处理. 这些应用程序需要一种机制以便每次处理一行或一部分行. 游标就是提供这种机制的对结果集的一种扩展. 游标通过以下方式来扩展结果处理: 允许定位在结果集的特定行. 从结果集的当前位置检索一行或一

PL/SQL游标

PL/SQL游标:A:分类:1:隐式游标:非用户明确声明而产生的游标. 你根本看不到cursor这个关键字.2:显示游标:用户明确通过cursor关键字来声明的游标. B:什么是隐式游标:1:什么时候产生:会在执行任何合法的SQL语句(DML---INSERT UPDATE DELETE DQL-----SELECT)中产生.他不一定存放数据.也有可能存放记录集所影响的行数.如果执行SELECT语句,这个时候游标会存放数据.如果执行INSERT UPDATE DELETE会存放记录影响的行数.C

PL/SQL 游标详解

刚打开游标的时候,是位于一个空行,要用fetch into 才能到第一行.只是要注意用更新游标的时候,不能在游标期间commit. 否则会报ORA-01002: fetch out of sequence就是COMMIT导致的错误.在打开有for update的cursor时,系统会给取出的数据加上排他锁(exclusive), 这样在这个锁释放前其他用户不能对这些记录作update.delete和加锁.而我一旦执行了commit,锁就释放了,游标也变成无效的,再去fetch数据时就出现错误了.

PL/SQL游标使用

游标只是一个指向查询语句返回的结果的指针,因此在游标定义时将包含一个查询定义.当游标打开后,数据被接收到一块内存区域存储,直到游标关闭. 游标实际上指向的是一块内存区域,这块内存区域位于进程全局区内部,称为上下文区域,在上下文区域中包含如下3类信息 1.查询返回的数据行 2.查询所处理的数据的行号 3.指向共享池中的已分析的SQL语句 游标实际上指向一块内存区域 游标定义时并不会获取游标数据,只有在游标被打开后,游标相关的查询语句被执行,然后将检索到的结果保存到内存中. 游标结构示意图 游标指向

Oracle数据库PL SQL游标

PL SQL游标 将hregright表中不存在hrno的记录,用house表中的hrno填充(house唯一的时候) declare cursor house_cur is select h.regno,h.hrno from house h where h.hrno is not null group by h.regno,h.hrno having count(h.regno)=1; begin for house in house_cur loop update hregright r

PL/SQL 游标 (实验七)

PL/SQL 游标 emp.dept 目标表结构及数据 要求 基于部门表建立游标dept_cursor1,使用记录变量接收游标数据,输出部门表信息: 显示格式: 部 门 号: XXX 部门名称: XXX 所在位置: XXX 基于部门表建立游标dept_cursor2,使用标量变量接收游标数据,输出部门表信息: 显示格式:部门号:XXX 部门名称:XXX 所在位置:XXX 基于雇员表建立游标emp_cursor,根据用户输入的部门号,输出该部门薪水在5000元上的雇员姓名.薪水. 显示格式:雇员姓

sql语句代编写、sql 游标 、事务代写

sql语句代编写.sql 游标 .事务代写1. AimsThis project aims to give you practice in? reading and understanding a moderately large relational schema (MyMyUNSW)? implementing SQL queries and views to satisfy requests for information? implementing SQL functions to ai

Oracle笔记 九、PL/SQL 游标的使用

--演示隐式游标,系统自动声明,自动打开,自动使用并且自动关闭 begin update emp set sal = 1000; dbms_output.put_line('影响的行数:' || sql%rowcount); end;   rollback;   /*游标的使用方法: 第一步:声明游标 第二步:打开游标 第三步:使用游标进行循环操作 第四步:关闭游标*/   --普通游标,游标本身就是一个变量 declare --下面的这行代码声明了一个游标 cursor mycur is se