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.
