SQL循环更新数据库

问题描述

有一张表的数据是用BULKINSERT将CSV文件一次性插入数据库的,现在我想根据CSV文件名(CSVFileName)更新CSV行号(CSVFileLineNO)怎么实现呢?TABLENAMEAIDCSVFileNameCSVFileLineNOCSVFiled1CSVFiled21name1.CSV12name1.CSV23name1.CSV34name2.CSV15name2.CSV26name2.CSV3当执行每一次BULKINSERT的时候就更新文件名和行号,现在文件名更新了,行号不知道怎么更新。。。大家帮我看看下面语句有什么问题declare@iintset@i=1while@i<=(selectcount(*)ascntfromAwhereCSVFileName='name1.CSV')beginupdatetop(1)AsetCSVFileLineNO=@iwhereCSVFileName='name1.CSV'set@i=@i+1end是不是条件不充分呀需要加CSVFileLineNOisnotnull吗知道结果会

解决方案

解决方案二:
你现在一直只更新第一条数据,应该变更下WHERE条件,使每次更新都是下一条数据UPDATEASETCSVFileLineNO=@iWHEREID=(SELECTTOP1IDFROM(SELECTTOP@iIDFROMAWHERECSVFileName='name1.CSV')ORDERBYIDDESC)

解决方案三:
按照以下执行即可。;WITHCTE_AAS(SELECT*,ROW_NUMBER()OVER(PARTITIONBYCSVFileNameORDERBYIDASC)ASRNFROMA(NOLOCK)WHERECSVFileName='name1.CSV')UPDATECTE_ASETCSVFileLineNo=RN;

时间: 2024-08-30 14:32:22

SQL循环更新数据库的相关文章

sql server-winform更新数据库的问题

问题描述 winform更新数据库的问题 我设计了一个按钮,可以点一下就在在一个listbox中显示sql server中存的数据. 我现在想在查询出来之后,单击某条数据,然后就可以更新他在数据库中的某个变量,请问应该如何做? 例如,数据库表中有StuId int,StuName nvarchar, StuSeclct bit 默认0. 点击按钮在listbox中显示StuName,显示条件是stuseclct值为0, (到这步我会). 现在想做一个事件,点击表中名字后,数据库中该学生的StuS

sql 自动更新数据库语句 sql server 2008

---主要入口:dbobject_outputsysobjects ----@object_name nvarchar(1024),----输出对象的名称(必填) ----   @object_type  nvarchar(2),---输出对象的类型(允许为空,自动在sys.objects视图获得(type))    --@drop_add int,---输出类型 是drop还是 add 对象  1=drop 2.=add (一般等于2)    --@replaceflag int,  ---更

更新数据库表的某一字段为限制范围的随机数

需求:用SQL脚本更新数据库某个字段为六位随机值 环境:SQL Server 2008,数据库内有上千条数据   问题1:六位随机值 步骤1:随机数的SQL函数为rand() ,而rand()生成的是0-1之间的小数. 步骤2:将rand()*1000000则看似可以得到有六位数了(小数部分暂时忽略不算).可是,假设rand()得到的是一个类似0.0xxx的小数,rand()*1000000就会只有五位整数部分,或许更少. 步骤3:rand()*(999999-100000)+100000这样就

使用LINQ to SQL更新数据库(中):几种解决方案

在前一篇文章中,我提出了在使用LINQ to SQL进行更新操作时可能会遇到的几种问题.其实这并不是 我一个人遇到的问题,当我在互联网上寻找答案时,我发现很多人都对这个话题发表过类似文章.但另我 无法满足的是,他们尽管提出了问题,却没有进行详细的剖析,只给出了解决方案(如添加RowVersion列 .去除关联等),但却没有说明为什么必须这么做.这也是我写上篇的初衷,希望通过对LINQ to SQL源 代码的分析,来一步一步找出解决问题的办法.本文将对这些方法一一进行讨论. 方案一:重新赋值 在T

linq to sql修改数据数据库不更新

问题描述 linq to sql修改数据数据库不更新 代码执行,就是不更新 DataClasses3DataContext db = new DataClasses3DataContext(); gongzi h = new gongzi(); var results = from r in db.gongzi where r.用户ID == Label5.Text && r.时间 == Convert.ToDateTime(Label6.Text) select r; if (resul

艾伟_转载:使用LINQ to SQL更新数据库(上):问题重重

在学习LINQ时,我几乎被一个困难所击倒,这就是你从标题中看到的更新数据库的操作.下面我就一步步带你走入这泥潭,请准备好砖头和口水,Follow me. 从最简单的情况入手 我们以Northwind数据库为例,当需要修改一个产品的ProductName时,可以在客户端直接写下这样的代码: // List 0NorthwindDataContext db = new NorthwindDataContext(); Product product = db.Products.Single(p =>

艾伟_转载:使用LINQ to SQL更新数据库(中):几种解决方案

在前一篇文章中,我提出了在使用LINQ to SQL进行更新操作时可能会遇到的几种问题.其实这并不是我一个人遇到的问题,当我在互联网上寻找答案时,我发现很多人都对这个话题发表过类似文章.但另我无法满足的是,他们尽管提出了问题,却没有进行详细的剖析,只给出了解决方案(如添加RowVersion列.去除关联等),但却没有说明为什么必须这么做.这也是我写上篇的初衷,希望通过对LINQ to SQL源代码的分析,来一步一步找出解决问题的办法.本文将对这些方法一一进行讨论. 方案一:重新赋值 在Terry

一起谈.NET技术,使用LINQ to SQL更新数据库(上):问题重重

在学习LINQ时,我几乎被一个困难所击倒,这就是你从标题中看到的更新数据库的操作.下面我就一步步带你走入这泥潭,请准备好砖头和口水,Follow me. 从最简单的情况入手 我们以Northwind数据库为例,当需要修改一个产品的ProductName时,可以在客户端直接写下这样的代码: // List 0NorthwindDataContext db = new NorthwindDataContext(); Product product = db.Products.Single(p =>

一起谈.NET技术,使用LINQ to SQL更新数据库(中):几种解决方案

在前一篇文章中,我提出了在使用LINQ to SQL进行更新操作时可能会遇到的几种问题.其实这并不是我一个人遇到的问题,当我在互联网上寻找答案时,我发现很多人都对这个话题发表过类似文章.但另我无法满足的是,他们尽管提出了问题,却没有进行详细的剖析,只给出了解决方案(如添加RowVersion列.去除关联等),但却没有说明为什么必须这么做.这也是我写上篇的初衷,希望通过对LINQ to SQL源代码的分析,来一步一步找出解决问题的办法.本文将对这些方法一一进行讨论. 方案一:重新赋值 在Terry