Los cursores del lado del servidor están implementados a partir
de MySQL 5.0.2 a través de la función de la API de C
mysql_stmt_attr_set()
. Un cursor del lado del
servidor permite a un resultado ser generado del lado del
servidor, pero no transmitido al cliente excepto para aquellos
registros que el cliente solicite. Por ejemplo, si un cliente
ejecuta una consulta pero de ésta sólo le interesa el primer
registro, los registros sobrantes no son transferidos.
Los cursores son de sólo lectura; no puede usar un cursor para actualizar registros.
UPDATE WHERE CURRENT OF
y DELETE WHERE
CURRENT OF
no están implementadas, porque los cursores
actualizables no están soportados.
Los cursores son no-mantenibles (no se mantienen abiertos después de una ejecución (commit)). Cursors are non-holdable (not held open after a commit).
Los cursores son insensibles.
Los cursores no pueden navegarse.
Los cursores no son nombrados. El proceso de la sentencia actua como el ID del cursor.
Puede tener sólo un cursor por sentencia preparada. Si necesita varios cursores, debe preparar varias sentencias.
No se puede utilizar un cursor para una sentencia que genera un
resultado si la sentencia no es soportada en modo preparado. Esto
incluye sentencias como CHECK TABLES
,
HANDLER READ
y SHOW BINLOG
EVENTS
.
Ésta es una traducción del manual de referencia de MySQL, que puede encontrarse en dev.mysql.com. El manual de referencia original de MySQL está escrito en inglés, y esta traducción no necesariamente está tan actualizada como la versión original. Para cualquier sugerencia sobre la traducción y para señalar errores de cualquier tipo, no dude en dirigirse a mysql-es@vespito.com.