Capisco il voler evitare di dover usare un cursore a causa del sovraccarico e dell'inconveniente, ma sembra che ci sia un certo cursore-fobia-mania in atto in cui le persone stanno facendo di tutto per evitare di doverne usare uno.
Ad esempio, una domanda chiedeva come fare qualcosa di ovviamente banale con un cursore e la risposta accettata proposta usando una query ricorsiva con espressione di tabella comune (CTE) con una funzione personalizzata ricorsiva, anche se questo limita il numero di righe che potrebbero essere elaborate a 32 (a causa del limite di chiamata di funzione ricorsiva nel server sql). Questo mi sembra una terribile soluzione per la longevità del sistema, per non parlare di uno sforzo tremendo solo per evitare di usare un semplice cursore.
Qual è la ragione di questo livello di odio folle? Qualche "autorità nota" ha emesso una fatwa contro i cursori? Qualche male indicibile si nasconde nel cuore dei cursori che corrompe la morale dei bambini o qualcosa del genere?
Domanda Wiki, più interessata alla risposta che al rappresentante.
Informazioni correlate:
Cursori di avanzamento rapido di SQL Server
EDIT: vorrei essere più preciso: capisco che i cursori non dovrebbero essere usati al posto delle normali operazioni relazionali ; questo è un gioco da ragazzi. Quello che non capisco è che le persone si sforzano di evitare i cursori come se avessero cootie o qualcosa del genere, anche quando un cursore è una soluzione più semplice e / o più efficiente. È l'odio irrazionale che mi confonde, non le evidenti efficienze tecniche.
32
è senza senso. Presumibilmente stai pensando a trigger ricorsivi e al massimo @@NESTLEVEL
di 32
. Può essere impostato nella query OPTION (MAXRECURSION N)
con impostazione predefinita 100
e 0
significato illimitato.