Los cursores de lado del servidor son implementados a partir de
MySQL 5.0.2 a través de la funcion de la API de C
mysql_stmt_attr_set()
. Un cursor de lado del
servidor permite a un resultado ser generado de lado del servidor,
pero no transmitido hacia el cliente excepto para aquellos registros que
el cliente solicite. Por ejemplo, si un cliente ejecuta unaconsulta
pero de ésta solo se interesa el primer registro, los registros sobrantes
no son transferidos.
Los cursores son de solo lectura; no puede usar un cursor para actualizar registros.
UPDATE WHERE CURRENT OF
and DELETE
WHERE CURRENT OF
no están implementadas, debido a que la
actualización en cursores no es soportada.
Cursors are non-holdable (not held open after a commit).
Los cursores son insensibles.
Los cursores son pueden ser navegados. Cursors are non-scrollable.
Los cursores no son nombrados. El proceso de la sentencia actua como el ID del cursor.
Puede tener solo un cursor por stencia preparada. Si es necesario tener varios cursores, debe preparar varias sentencias.
No se puede usar 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
.