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

Fordele ved at bruge cursorvariable i SQL Server (erklær @cn cursor)

Der er en anden fordel ved at bruge DECLARE @local_variable CURSOR syntaks, som jeg lige har opdaget.

Fordelen opstår, når en lagret procedure kalder en anden, og begge procedurer har markører åbne på samme tid. Hvis DECLARE cursor_name CURSOR bruges til at definere markørerne, og begge procedurer bruger det samme cursor_name, så får du

På den anden side, hvis DECLARE @local_variable CURSOR bruges til at definere markørerne i de overordnede og underordnede lagrede procedurer, derefter @local_variable er lokal for hver procedure, og der er ingen konflikt. For dem, der ikke har brugt denne metode før, er her et eksempel, der bruger @C som den lokale variabel:

DECLARE @C AS CURSOR;

SET @C = CURSOR FOR SELECT ...;

OPEN @C;

FETCH NEXT FROM @C INTO ...;

...



  1. BeanCreationException:Fejl ved oprettelse af bean med navnet 'flywayInitializer'

  2. Opret forbindelse fra PHP til en Oracle DB ved hjælp af en Oracle Wallet

  3. PostgreSQL unikke værdi på flere kolonner

  4. Migrering af en Microsoft Access-database til SQL Server