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.
- 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. - 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:
- Declarar Objeto Cursor.
Sintaxis: DECLARE cursor_name CURSOR FOR SELECT * FROM table_nameDECLARE s1 CURSOR FOR SELECT * FROM studDetails
- Abra la conexión del cursor.
Sintaxis: OPEN conexión_cursorOPEN s1
- 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_nameFETCH 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
- Cerrar la conexión del cursor.
Sintaxis: CLOSE nombre_cursorCLOSE s1
- Desasignar la memoria del cursor.
Sintaxis: DEALLOCATE nombre_cursorDEALLOCATE 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