sql >> Database >  >> RDS >> Sqlserver

Kan ik een tabelvariabele doorlopen in T-SQL?

Voeg een identiteit toe aan uw tabelvariabele en maak een eenvoudige lus van 1 naar de @@ROWCOUNT van de INSERT-SELECT.

Probeer dit:

DECLARE @RowsToProcess  int
DECLARE @CurrentRow     int
DECLARE @SelectCol1     int

DECLARE @table1 TABLE (RowID int not null primary key identity(1,1), col1 int )  
INSERT into @table1 (col1) SELECT col1 FROM table2
SET @[email protected]@ROWCOUNT

SET @CurrentRow=0
WHILE @CurrentRow<@RowsToProcess
BEGIN
    SET @[email protected]+1
    SELECT 
        @SelectCol1=col1
        FROM @table1
        WHERE [email protected]

    --do your thing here--

END


  1. SQLSTATE[42000]:Syntaxisfout of toegangsfout:1064 U heeft een fout in uw SQL-syntaxis — PHP — PDO

  2. Probleem met MySQL UTF-8 Tekeninvoeging

  3. Zoeken in volledige tekst met InnoDB

  4. Hoe elementen uit de Json-array te halen in PostgreSQL