sql >> Databasteknik >  >> RDS >> Sqlserver

Hur kan jag undvika att använda markören för att implementera denna pseudokod - SQL Server

Du kan normalt inte undvika looping eftersom du anropar EXEC, vilket inte kan göras som en SET-baserad operation; det måste göras en efter en.

Om du bara vill undvika CURSOR i allmänhet kan du implementera det med hjälp av en WHILE-loop.

Annars är ett annat alternativ att använda en SELECT + FOR XML-sats som bygger EXEC-satserna som en enda NVARCHAR(MAX)-sats till en variabel, sedan EXEC just den dynamiska SQL.



  1. fjäderstartanvändning av platshållare i applikationsegenskaper

  2. Kontrollera om det aktuella datumet ligger mellan två datum + mysql select-fråga

  3. MySQL:Få kolumner efter värdeprioriteter

  4. Beräkna löpande saldo per produkt i mysql-vyn