sql >> Database teknologi >  >> RDS >> Sqlserver

Kan jeg gå gennem en tabelvariabel i T-SQL?

Tilføj en identitet til din tabelvariabel, og lav en nem løkke fra 1 til @@ROWCOUNT i INSERT-SELECT.

Prøv dette:

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. SQL Server 2005 Brug af DateAdd til at tilføje en dag til en dato

  2. Rails ActiveRecord forbinder til forkert Postgres-database

  3. MySQL:Få kolonner efter værdiprioriteter

  4. H2 - Fejl ved adgang til linket tabel med SQL-sætning SELECT * FROM null T