In Oracle, wenn ich einen Cursor definieren und während der gleichen Zeit, wenn es eine Aktualisierung auf der Tabelle ist, was passiert dann mit meinem Cursor? Wird es ungültig oder Updates spielt keine Rolle?Update auf Zeilen durch einen Cursor in SQL
2
A
Antwort
4
Jede Abfrage in Oracle entspricht einem Zeitpunkt (normalerweise der Beginn der Abfrage).
In Ihrem Fall, wenn Sie einen Cursor öffnen und während Sie ihn holen, ändert jemand die Zeilen Oracle wird eine logische Kopie der Daten wie beim Öffnen des Cursors wiederherstellen. Die Änderungen an den Daten, die nach diesem Zeitpunkt vorgenommen wurden, werden nicht angezeigt.
Diese Lesekonsistenz ist ein grundlegender Bestandteil der Oracle-Engine.
Vom Concept Guide, die Lese-Konsistenz:
- Garantien, dass die Menge der Daten, die von einer Erklärung gesehen in Bezug auf einen bestimmten Zeitpunkt konsistent ist und ändert sich nicht während der Ausführung der Anweisung (auf Anweisungsebene Lesekonsistenz)
- Stellt sicher, dass die Leser von Datenbankdaten warten nicht auf Autoren oder andere Leser der gleichen Daten
- Stellt sicher, dass Autoren von Datenbankdaten nicht warten, für die Leser der gleichen Daten
- Stellt sicher, dass w Riter warten nur auf andere Schreiber, wenn sie versuchen, identische Zeilen in gleichzeitigen Transaktionen zu aktualisieren
Verwandte Themen
- 1. t-sql update-Anweisung ähnlich wie Cursor
- 2. Schleife in SQL Server ohne einen Cursor
- 3. PL/SQL referenziert einen anderen Cursor in einem Cursor?
- 4. Update mehrerer Zeilen in einer SQL-Abfrage
- 5. PL/SQL-Update mehrere Zeilen nach
- 6. Betroffene Zeilen durch UPDATE-Anweisung in RAW plpgsql
- 7. T SQL Update Zeilen mit Max Funktion
- 8. Alternativen zu SQL-Cursor
- 9. Trennen Sie einen TEXT-Block durch neue Zeilen
- 10. Prevent Update auf nicht vorhandene Zeilen
- 11. Django - Führen Raw SQL Update/Löschen und Zeilen Rückkehr zählen
- 12. SQL-Server: update alle Zeilen Spalten basierend auf IP
- 13. Update in mehreren Zeilen
- 14. Mehrere Zeilen aktualisieren SQL-Trigger von Single Update SQL-Anweisung
- 15. Cursor in SQL vermeiden
- 16. SQL Update mehrere Zeilen mit demselben Wert
- 17. SQL-Cursor durch Komma getrennte Werte in Oracle
- 18. Update mehrere Zeilen mit Einzel Update SQL Server
- 19. Cursor läuft nicht durch ganze Tabelle
- 20. Update Schema und Zeilen in einer Transaktion, SQL Server 2005
- 21. T-SQL: Eine richtige Art und Weise/AUFLÖSEN Cursor auf CLOSE in der Update-Trigger
- 22. Ersetzen durch Platzhalter in SQL
- 23. Anzahl der von einem UPDATE in PL/SQL betroffenen Zeilen
- 24. SQL-Gruppe nur durch aufeinanderfolgende Zeilen
- 25. die SQL-Spalten auf UPDATE-Anweisung geändert
- 26. PL/SQL-Mutationstabelle auf Update
- 27. SQL update \ loop Abfrage
- 28. Verbesserung von SQL UPDATE
- 29. Cursor/Caret Bluten durch Overlay in IE
- 30. SQL-Update basierend auf Anzahl