¿Qué es Cursor en SQL?

El cursor es una memoria temporal o una estación de trabajo temporal. Es asignado por el servidor de la base de datos en el momento de realizar operaciones DML (lenguaje de manipulación de datos) en la tabla por parte del usuario. Los cursores se utilizan para almacenar tablas de bases de datos. Hay 2 tipos de cursores: cursores implícitos y cursores explícitos. Estos se explican a continuación a continuación.

  1. Cursores implícitos:
    los cursores implícitos también se conocen como cursores predeterminados de SQL SERVER. Estos cursores son asignados por SQL SERVER cuando el usuario realiza operaciones DML.
  2. Cursores explícitos:
    los cursores explícitos son creados por los usuarios cuando el usuario los requiere. Los cursores explícitos se utilizan para obtener datos de la tabla fila por fila.

Cómo crear un cursor explícito:

  1. Declarar Objeto Cursor.
    Sintaxis: DECLARE cursor_name CURSOR FOR SELECT * FROM table_name
    DECLARE s1 CURSOR FOR SELECT * FROM studDetails
  2. Abra la conexión del cursor.
    Sintaxis: OPEN conexión_cursor
    OPEN s1
  3. Obtener datos del cursor.
    Hay un total de 6 métodos para acceder a los datos desde el cursor. Son los siguientes:
    FIRST se usa para obtener solo la primera fila de la tabla de cursores.
    LAST se usa para obtener solo la última fila de la tabla del cursor.
    SIGUIENTE se utiliza para obtener datos en la dirección de avance de la tabla del cursor.
    PRIOR se utiliza para obtener datos en dirección hacia atrás desde la tabla del cursor.
    ABSOLUTE n se usa para obtener la n -ésima fila exacta de la tabla de cursores.
    RELATIVO n se utiliza para obtener los datos de forma incremental y decreciente.
    Sintaxis: FETCH NEXT/FIRST/LAST/PRIOR/ABSOLUTE n/RELATIVE n FROM cursor_name
    FETCH FIRST FROM s1
    FETCH LAST FROM s1
    FETCH NEXT FROM s1
    FETCH PRIOR FROM s1
    FETCH ABSOLUTE 7 FROM s1
    FETCH RELATIVE -2 FROM s1
    
  4. Cerrar la conexión del cursor.
    Sintaxis: CLOSE nombre_cursor
    CLOSE s1
  5. Desasignar la memoria del cursor.
    Sintaxis: DEALLOCATE nombre_cursor
    DEALLOCATE s1

Publicación traducida automáticamente

Artículo escrito por LoneWolf_Akashdip y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *