Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
更新表行sql 3的列_Sql_Sql Server_Tsql_Stored Procedures_Sql Update - Fatal编程技术网

更新表行sql 3的列

更新表行sql 3的列,sql,sql-server,tsql,stored-procedures,sql-update,Sql,Sql Server,Tsql,Stored Procedures,Sql Update,在这张图片中,我想通过查询读取第一行,并将HASDATA更改为1或true(对于第一行),但所有行中的HASDATA都更改为true 我使用了这段代码,它可以工作,但是当这段代码在while环查询中运行时,仍然在同一行上工作。当代码在while环中运行时,我想在下一行中运行query 这是我的存储过程代码: ALTER procedure [dbo].[selecfirstvalue] (@ParentId int,@CrawlerCheck bigint) as update TBLCrowl

在这张图片中,我想通过查询读取第一行,并将HASDATA更改为1或true(对于第一行),但所有行中的HASDATA都更改为true

我使用了这段代码,它可以工作,但是当这段代码在while环查询中运行时,仍然在同一行上工作。当代码在while环中运行时,我想在下一行中运行query

这是我的存储过程代码:

ALTER procedure [dbo].[selecfirstvalue] (@ParentId int,@CrawlerCheck bigint)
as
update TBLCrowler set ParentId=@ParentId , CrawlerCheck=@CrawlerCheck , HasData=1 
where CatId=(Select min(CatId) from TBLCrowler)
end
试试这个:

ALTER procedure [dbo].[selecfirstvalue] (@ParentId int,@CrawlerCheck bigint)
as
update TBLCrowler set ParentId=@ParentId , CrawlerCheck=@CrawlerCheck , HasData=1 
where CatId=(Select min(CatId) from TBLCrowler where HasData=0)
end

where子句将始终拾取相同的记录,即CatId最低的记录