sql >> Database >  >> RDS >> Sqlserver

SQL - Opgeslagen procedure aanroepen voor elk record

Je moet daarvoor een cursor gebruiken.

DECLARE @oneid int -- or the appropriate type

DECLARE the_cursor CURSOR FAST_FORWARD
FOR SELECT spro.Id  
    FROM SomeTable as spro 
        INNER JOIN [Address] addr ON addr.Id = spro.Id  
        INNER JOIN City cty ON cty.CityId = addr.CityId 
    WHERE cty.CityId = @CityId

OPEN the_cursor
FETCH NEXT FROM the_cursor INTO @oneid

WHILE @@FETCH_STATUS = 0
BEGIN
    EXEC UpdateComputedFullText @oneid

    FETCH NEXT FROM the_cursor INTO @oneid
END

CLOSE the_cursor
DEALLOCATE the_cursor


  1. Wat gebeurt er met de primaire sleutel-ID als deze de limiet overschrijdt?

  2. Voeg veel rijen samen tot een enkele tekenreeks met groepering

  3. Grote resultatensets streamen met MySQL

  4. voeg twee verschillende tabellen samen en verwijder dubbele vermeldingen