Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Мога ли да преминавам през променлива на таблица в T-SQL?

Добавете идентичност към променливата на вашата таблица и направете лесен цикъл от 1 до @@ROWCOUNT на INSERT-SELECT.

Опитайте това:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Ограничение по подразбиране на SQL за вмъкване на колона със стойност по подразбиране в таблицата на SQL Server

  2. Защо архивирането на SQL Server е много по-голямо от DB файловете?

  3. Как да принудя колектора за боклук на файловия поток да завърши работата си с най-висок приоритет?

  4. Еквивалентна функция на разделяне в T-SQL?

  5. SQL Server не използва индекс, сравняващ datetime с not null