Home Hardware Networking Programmazione Software Domanda Sistemi
Conoscenza Informatica >> software >> Software Database >> .

Alternative ai cursori SQL

Un cursore è una struttura di programmazione di database SQL che la maggior parte dei programmatori di database cercano di evitare , quando possibile. Un database SQL è costruito per elaborare gruppi di record, o " set di dati ", ma un cursore è progettato per gestire un solo record per volta --- e possono anche bloccare tutti gli altri programmi di fuori delle tabelle di riferimento che finché non sono finalmente fatto . Sostituzione di cursori con strutture diverse è quasi sempre una buona pratica di programmazione SQL . Emulare un Cursore Con un ciclo while

un ciclo while è simile a una struttura del cursore , ma non trasporta le stesse pene di bloccaggio . Pertanto, si può prendere quasi tutto il tempo al processo , ma non bloccare altri programmi di fuori delle tabelle che sta utilizzando

Un esempio di struttura While: .

While condizione ( il programma verrà ciclo finché la condizione è vera ) per

Begin
Codice

( questo codice verrà eseguito una volta su ogni passo del ciclo While)
Fine



definire una funzione

SQL dispone di funzioni definite dall'utente . Piuttosto che raccogliere tutti i risultati e poi analizzarli uno alla volta con un cursore , la funzione definita dall'utente può essere utilizzato come parte di Select .

Per mettere una funzione definita dall'utente in una Select query, utilizzare questa struttura :

Selezionare Nome, Cognome, dbo.user_function ( account_balance ) come AverageBalance
costruire una tabella Espressione
comune

Pensate di un'espressione di tabella comune , come una tabella temporanea truccata . È possibile creare un'espressione di tabella comune utilizzando una varietà di query standard e poi lavorare con loro come se fossero tabelle SQL standard

La struttura di un'espressione di tabella comune è : .

My_CTE (

standard di query di selezione vanno qui

) ;

Dopo my_CTE è stato definito , ulteriori domande possono fare riferimento come se fosse una tabella
.
Aggiungi una colonna Identity

una delle ragioni più comuni per utilizzare un cursore per scorrere una tabella che non dispone di una colonna Identity --- cioè un identificatore univoco per ogni riga della tabella . Senza questo identificatore , è molto difficile lavorare con i dati con le query SELECT standard. Modifica della tabella per aggiungere una colonna chiave primaria risolve questo problema e dovrebbe eliminare la necessità di un cursore per esaminare ogni singolo record .

 

software © www.354353.com