Sql 如何使用while循环访问表的列名

Sql 如何使用while循环访问表的列名,sql,sql-server-2008,Sql,Sql Server 2008,我有以下表格: RowNo Item 1 A 2 B 我的要求是,如果项目等于B做动作 declare @count int = 1 WHILE(@count < (select count(*) from #Temp)) Begin // Here I have to access my column name(Item) , so that I can check its value to B

我有以下表格:

RowNo          Item
1              A
2              B
我的要求是,如果项目等于B做动作

  declare @count int = 1
  WHILE(@count < (select count(*) from #Temp))
  Begin
  // Here I have to access my column name(Item) , so that I can check its value to B
  set @count = @count + 1
  End
请建议您可以使用:

或在较新版本中,您可以使用:

或者您可以使用:


你打算做什么?在TSQL中使用循环很少是需要寻找的解决方案,但这可能取决于您将要采取的操作。如果选择COUNT*FROM Temp WHERE Item='B'>0这样的测试是否合适?这将告诉您是否有Item='B'@dash:No的行,我不能这样做,我必须使用循环,因为可能有许多行与Item:B相关,并且我必须在每次匹配时选择行数。
DESCRIBE my_table;
SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = 'my_database' AND TABLE_NAME = 'my_table';
SHOW COLUMNS FROM my_table;