sql >> Databáze >  >> RDS >> Sqlserver

Výhody použití proměnné kurzoru na serveru SQL Server (deklarujte @cn kurzor)

Použití DECLARE @local_variable CURSOR má další výhodu syntaxi, kterou jsem právě objevil.

Výhoda nastane, když jedna uložená procedura volá jinou a obě procedury mají kurzory otevřené současně. Pokud DECLARE cursor_name CURSOR se používá k definování kurzorů a oba postupy používají stejný název_kurzoru, pak získáte

Na druhou stranu, pokud DECLARE @local_variable CURSOR se používá k definování kurzorů v nadřazených a podřízených uložených procedurách, pak @local_variable je lokální pro každý postup a nedochází k žádnému konfliktu. Pro ty, kteří tuto metodu ještě nepoužili, zde je příklad s použitím @C jako lokální proměnná:

DECLARE @C AS CURSOR;

SET @C = CURSOR FOR SELECT ...;

OPEN @C;

FETCH NEXT FROM @C INTO ...;

...



  1. Platné formáty časových řetězců pro funkce data/času SQLite

  2. Chyba vložení php + mysql

  3. Optimalizace databáze:Indexy

  4. MySQL GROUP BY DateTime +/- 3 sekundy