`
webcode
  • 浏览: 6026781 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

当数据的ID不是自增时数据导入的游标遍历

 
阅读更多


declare @NewID int
declare @au_ID int
declare @username varchar(50)
declare @gender varchar(50)
declare @mobile varchar(50)
declare @email varchar(50)
declare @bday datetime
declare @lastvisit datetime
declare @joindate datetime


DECLARE authors_cursor CURSOR FOR--申明一个游标
select top 2 discuz.dbo.dnt_users.uid
from discuz.dbo.dnt_users

inner join discuz.dbo.dnt_userfields

on discuz.dbo.dnt_users.uid=discuz.dbo.dnt_userfields.uid where len(email)>1
and username not in (
select username from Common.dbo.userinfo
)
OPEN authors_cursor --打开游标
--取出值
FETCH NEXT FROM authors_cursor INTO @au_ID
--set @au_all = @au_line + '/'
--循环取出游标的值
WHILE @@FETCH_STATUS = 0
BEGIN
select @NewID = isnull(MaxID,0) + 1 from [TableMaxIdentity]
where TableName = 'UserInfo'
select @username=username,@gender=case(gender) when 1 then '男' when 2 then '女' else '未知' end,
@mobile=mobile,@email=email,@bday=bday,@lastvisit=lastvisit,@joindate=joindate
from discuz.dbo.dnt_users
inner join discuz.dbo.dnt_userfields

on discuz.dbo.dnt_users.uid=discuz.dbo.dnt_userfields.uid
where discuz.dbo.dnt_users.uid=@au_ID

insert into userinfo( ID,userName, password, name,countryID, provincid, cityid, gender, mobile, email, integral,customtype,LegalRepresentative,Job,ExtendInfo,Birthday,LastLoginTime,UpdateDate,Grade,WorkTel,LogoUrl,Status,IsAgent,IsProvider,RegistDate, cust_src_channel, cust_src_type, isMember, isClient, isLinkMan)
values(@NewID,@username,'5C6EDFB742ADCD00',@username,1001,0,0,@gender
,@mobile,@email,0,1,'','','<UserInfo></UserInfo>',@bday,@lastvisit,getdate(),1001,'','',1,0,0,@joindate,1002,1002,1,0,1)


update [TableMaxIdentity] set MaxID = @NewID where TableName = 'UserInfo'
FETCH NEXT FROM authors_cursor INTO @au_ID

END

CLOSE authors_cursor --关闭游标
DEALLOCATE authors_cursor --释放游标
update dnt_users set password='96e79218965eb72c92a549dd5a330112' where email!=null or len(email)>1 and username!='admin'




分享到:
评论

相关推荐

    SQL Server游标遍历,并比较值

    在sql中,通过id查询出一个字段的值ordernumber,利用游标循环遍历对应字段的值ordernumber1,(比较ordernumber是否存在,存在就在后+'_1',+'_2'...)

    sql 游标遍历 实例

    游标在处理大量数据时特别有用,特别是当你需要对结果集中的每一行执行不同的操作或者进行迭代处理时。在本实例中,我们将探讨如何使用SQL游标来遍历数据并执行相关操作。 首先,让我们理解什么是游标。游标可以视...

    利用游标遍历数据表或者数据集

    declare cur cursor for select AccountID,EmployeeName from #Temp open cur fetch next from cur into @tmpID, @tmpName fetch next from cur into @tmpID, @tmpName end close cur ...

    Mysql游标(循环操作)

    - **关闭游标**:当所有数据都被处理完毕后,关闭游标以释放资源。 ```sql END;callnew_procedure; ``` - **结束存储过程并调用**:最后是存储过程的结束标记以及调用此存储过程的命令。 #### 四、总结 本例展示...

    SQL Server遍历表中记录的2种方法(使用表变量和游标)

    游标允许我们按需处理数据集的一个行,但它们通常效率较低,特别是在处理大量数据时。游标的基本用法如下: ```sql DECLARE @tempId INT, @tempName VARCHAR(10); DECLARE test_Cursor CURSOR LOCAL FOR SELECT [id...

    学习及练习PLSQL-游标遍历

    游标提供了一种对从表中检索出的数据进行操作的灵活手段,就本质而言,游标实际上是一种能从包括多条数据记录的结果集中每次提取一条记录的机制。

    matlab开发-图窗口的数据游标

    在处理多轴数据时,MATLAB的数据游标功能同样强大。在同一个figure窗口中,可能有多个axes对象,每个对象都显示不同的数据集。MATLAB支持在这些多轴环境下使用数据游标,这意味着你可以同时查看和分析不同轴上的数据...

    CN110543495A-游标遍历存储方法及装置.pdf

    CN110543495A-游标遍历存储方法及装置.pdf

    DB2游标及动态SQL

    在DB2中,游标是一种用于遍历查询结果集的强大工具。它允许用户一行一行地处理数据,这对于需要逐行处理数据的应用场景非常有用。游标通常用于以下几种情况: - 需要处理的数据量较大时。 - 需要逐行对数据进行复杂...

    存储过程游标用于批量的插入数据

    例如,当需要遍历一个表并对每一行执行特定操作时,使用游标是非常合适的。 #### 三、游标在批量插入数据中的应用 本案例主要展示了如何利用游标来实现批量插入数据的功能。这种方法尤其适用于需要对大量数据进行...

    SQLSERVER遍历数据

    本篇详细介绍了如何在SQL Server中通过声明变量、创建游标、遍历数据以及关闭释放游标等步骤,实现对数据库表中的数据进行遍历。这种方法对于需要检查大量表和字段的场景非常有用,特别是在进行数据清洗、系统审计等...

    oracle 隐式游标,显示游标,游标循环

    隐式游标是在执行DML(数据操纵语言)操作或单行`SELECT INTO`语句时由Oracle自动创建的游标。它主要用于处理单行记录。 ##### 1. 使用场景 - **插入操作**:`INSERT` - **更新操作**:`UPDATE` - **删除操作**:`...

    利用游标对不同的数据库进行批量操作数据

    游标允许我们逐行地处理数据集,这在批量操作数据时非常有用。本篇将详细介绍如何利用游标对不同的数据库进行批量操作数据。 首先,游标的基本概念:游标是一个能指向数据集合中的特定位置的指针,它可以移动到集合...

    使用游标更新数据库

    在使用游标更新数据库时,需要在声明游标的时候使用 FOR UPDATE 选项,以便在打开游标时锁定游标结果集与表中对应数据行的所有列和部分列。这样可以保证正在进行操作的数据不被另外的用户修改。 2. FOR UPDATE 选项...

    mysql游标详解

    这个过程将 fetchSeqOk 变量设置为 TRUE,当游标遍历溢出时,fetchSeqOk 变量将被设置为 TRUE,从而控制循环的退出条件。 如果需要实现嵌套的游标循环,可以使用 BEGIN 和 END 语句来划分一个statement block,例如...

    关于存储过程和游标的总结

    当查询返回结果超过一行时,就需要一个显式游标。 * REF 游标:动态关联结果集的临时对象。 三、游标的状态 游标的状态是通过属性来表示,包括: * %Found:Fetch 语句(获取记录)执行情况 True or False。 * %...

    Oracle游标使用详解

    最后一个示例展示了如何使用`EXIT WHEN`语句来提前退出循环,当游标没有更多数据时停止遍历。 ```sql CREATE OR REPLACE PROCEDURE PROC_STU1_1 AS BEGIN DECLARE CURSOR cur_stu IS SELECT stu_no, stu_...

    ORACLE中的游标汇总

    REF游标可以指向任何SQL查询的结果集,因此在处理不确定结构的数据时非常有用。 3. 游标属性 - **%FOUND**:当`FETCH`语句成功从游标中获取一条记录时,`%FOUND`属性为TRUE,否则为FALSE。 - **%NOTFOUND**:如果...

    利用游标多数据库查询单条数据方法

    在SQL编程中,游标(Cursor)是一种非常重要的工具,特别是在处理多数据库查询时,它允许我们逐行处理结果集,而不是一次性加载所有数据。在标题"利用游标多数据库查询单条数据方法"中提到的场景,游标被用于在10多...

    Oracle游标实例.txt

    当游标被打开并遍历时,可以安全地更新每一行数据,而不会受到其他并发事务的影响。 通过这些实例,我们可以看到Oracle游标在处理数据库查询结果方面的灵活性和强大功能。无论是简单的数据检索,还是复杂的事务处理...

Global site tag (gtag.js) - Google Analytics