FOR语句查询SQL Server

时间:2015-09-19 22:11:58

标签: sql-server

我想用for语句创建一个针对数据库的查询(在C#中) 像这样的东西:

List<object> data = new List<object>();

for(int i = 0; i < executeScalar("SELECT COUNT(*) FROM mytable"); i++)
{
      List[i] = executeRead("SELECT rownumber(i) From mytable");
      // or
      executeUpdate("UPDATE mytable SET ... inrownumber(i)",List[i])
}

问题是:是否有任何功能可用于此&#34; rownumber(i)&#34;和&#34; inrownumber(i)&#34;?

我知道我可以这样做

List[i] = executeRead("SELECT * From mytable WHERE ROW_NUMBER() = " + i);

executeUpdate("UPDATE mytable SET ... WHERE ROW_NUMBER() = " + i,List[i])

但如果我这样做 - 数据库将每次搜索所有表格以查找一个项目,因此如果我有100个项目,则数据库将传递10,000个项目。我不会每次数据库直接进入行,所以它只传递所有for语句中的100个项目

你知道怎么办?

(我需要它,因为在我的程序中 - 开发人员假设所有数据都在列表中,并且他们使用for语句和索引,并且&#34;添加&#34;和&#34 ;插入&#34;等等,我不会改变所有程序)

由于

0 个答案:

没有答案