SQL 語言沒有 FOR 循環結構,但是可以使用其他方法來實現類似的功能
DECLARE @id INT
DECLARE my_cursor CURSOR FOR SELECT id FROM my_table
OPEN my_cursor
FETCH NEXT FROM my_cursor INTO @id
WHILE @@FETCH_STATUS = 0
BEGIN
-- 在這里執行你的操作,例如:
UPDATE another_table SET column = 'value' WHERE id = @id
FETCH NEXT FROM my_cursor INTO @id
END
CLOSE my_cursor
DEALLOCATE my_cursor
DECLARE @counter INT = 1
WHILE @counter <= (SELECT COUNT(*) FROM my_table)
BEGIN
-- 在這里執行你的操作,例如:
UPDATE another_table SET column = 'value' WHERE id = @counter
SET @counter = @counter + 1
END
WITH cte AS (
SELECT id, column FROM my_table
UNION ALL
SELECT id + 1, column FROM cte WHERE id < (SELECT MAX(id) FROM my_table)
)
SELECT * FROM cte
請注意,這些示例是針對 SQL Server 的。在其他數據庫(如 MySQL、Oracle 或 PostgreSQL)中,語法可能略有不同。在使用這些方法時,請確保根據你的數據庫系統進行調整。