Diferencia entre revisiones de «Cursor (base de datos)»

Contenido eliminado Contenido añadido
Sin resumen de edición
Línea 59:
 
=== Sentencias Update/Delete posicionadas ===
 
Los cursores no sólo pueden ser utilizados para extraer información de la base de datos a una aplicación, sino que también sirven para identificar una fila a modificar o borrar en una tabla. El estándar [[SQL:2003]] define para tal fin las sentencias '''posicionadas Update y Delete '''. Estas sentencias no utilizan una cláusula WHERE normal (con predicados de condición). En cambio, el cursor identifica la fila, para lo cual debe ser abierto y posicionado en la misma utilizando la sentencia <code> FETCH </code>.
 
UPDATE ''table_name''
SET ...
WHERE '''CURRENT OF''' ''cursor_name''
 
DELETE
FROM ''table_name''
WHERE '''CURRENT OF''' ''cursor_name''
 
El cursor debe operar sobre un set de resultados que sea '''modificable''' para que una sentencia posicionada UPDATE o DELETE pueda ejecutarse con éxito. En caso contrario, el SGBD no sabría como aplicar los cambios en los datos a las tablas subyacentes referidas en el cursor.
 
=== Cursores en transacciones distribuidas ===
 
 
[[Categoría:Bases de datos]]