我有一个不会改变的表,除非我改变它,我想用它作为变量值的参考。我想取每一行,在一列中,并将行设置为变量,执行一些命令,然后将下一行设置为相同的变量,然后重复。
前任。
带有rowNumber
和RowValue
列的表
declare @rowNumber int, @RowValue nvarchar(255)
set @rowNumber = 1
set @RowValue = (Row # in RowValue column)
execute instructions with @RowValue value.
set @rowNumber = @rowNumber + 1
loop
我知道我可以使用下面的说明来组织行列,但我不确定如何通过将单个单元格值分配给变量来完成我的任务。
SELECT ROW_NUMBER() OVER( ORDER BY Names ) AS 'rownumber',*
FROM [Database Names]
这是我正在寻找的答案的示例,它涉及使用游标从表列中迭代地选择值。
declare @DBName varchar(255)
declare db_cursor Cursor FOR
select DBTable
from Database_Names.dbo.Database_Names
--where name not in ('DB') --Not Used but could be used to filter results
open db_cursor
Fetch Next from db_cursor into @DBName
WHILE @@FETCH_STATUS = 0
BEGIN
print 'The Database Selected is ' + @DBName
FETCH NEXT FROM db_cursor INTO @DBName
END
CLOSE db_cursor
DEALLOCATE db_cursor