La funzione @@FETCH_STATUS mostra l'esito dell'ultima istruzione FETCH e restituisce 3 valori che sono:
- 0 Successo
- -1 Fallimento
- -2 Riga mancante
Un'altra funzione molto utile a tenere traccia dei cursori e la @@CURSOR_ROWS. Questa funzione restituisce il numero di righe presenti nel cursore.
- Se il numero e negativo il cursore è stato popolato in modo asincrono e non tutte le righe sono state inserite nel cursore
- Se il numero e positivo, il cursore è stato pienamente popolato.
- Se il numero e 0 nessuna riga è stata modificata oppure il cursore non è stato aperto.
Le variabili menzionate lavorano solo su l'ultimo cursore aperto quindi bisogna stare attenti a non fare casino con eventuali cursori nidificati. Infine se attraverso la funzione CURSOR_STATUS() ci si può accertare dello stato del cursore passato come parametro. I valori che questa funzione restituisce sono 0 e 1, 0 indica che non ci sono righe, 1 che ve ne sono. Questa è la sintassi:
CURSOR_STATUS
(
{ 'local' , 'cursor_name' }
| { 'global' , 'cursor_name' }
| { 'variable' , 'cursor_variable' }
)