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]]
|