kossy Geschrieben 5. August 2011 Teilen Geschrieben 5. August 2011 Hallo zusammen ! Ich habe bisher einige Beispiel mit dem Cursor in TSQL umgesetzt. Es handelte sich hierbei allerdings nur um SELECT Statements, deren zurückgegebene Werte in entsprechenden Variablen abgespeichert wurden. Kann man diese Cursortechnik eigentlich auch für INSERT, UPDATE und DELETE Befehle verwenden? Ich bin mir da nicht sicher. Hierbei geht es mir erstmal um theoretisches Wissen, egal wieviel Sinn das in der Praxis tatsächlich macht. Grüße Kossy Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Goos Geschrieben 5. August 2011 Teilen Geschrieben 5. August 2011 Nein, es gibt keinen Insert, Update oder Delete Cursor. Ein Cursor bewegt sich immer nur auf einem Result Set. Goos Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kossy Geschrieben 5. August 2011 Autor Teilen Geschrieben 5. August 2011 Hallo ! Danke für die Antwort ! Wenn ich diese Dinge nicht mit einem Cursor bearbeiten kann, wie kann ich an die Daten herankommen, die ich mittels INSERT, UPDATE oder DELETE Anweisung in meiner Datenbank modifiziert habe? Mir fällt da nur die SQL Server internen Tabellen Insertedund deleted ein und dann evtl. mittels Trigger oder so. Ist das ein optimale Lösung, oder gibts bessere Dinge? Ich möchte diese Daten nochmal explizit auslesen und möglichst separat abspeichern, um so eine Art Backup zu erstellen. Grüße Kossy Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
streffin Geschrieben 5. August 2011 Teilen Geschrieben 5. August 2011 Ich glaube bei deinem Vorhaben wirst du um Trigger nicht rum kommen. Beim Thema backup kannst du dir eventuell das letzte Transaction log rausschreiben, damit du darüber auf den Stand "kurz vorher" zurückspielen kannst, aber wenn du wirklich jede Änderung mit loggen, und rückgängig machen können willst wirst du dir soweit ich das sehe, per Trigger jede Änderung in eine Tabelle rausschreiben müssen. Gruß Sven Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kossy Geschrieben 7. August 2011 Autor Teilen Geschrieben 7. August 2011 Danke schön für die Antworten ! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Goos Geschrieben 8. August 2011 Teilen Geschrieben 8. August 2011 Ist das ein optimale Lösung, oder gibts bessere Dinge? Ich möchte diese Daten nochmal explizit auslesen und möglichst separat abspeichern, um so eine Art Backup zu erstellen. Danach haettest mal gleich fragen sollen Seit dem SQL Server 2005 gibts dazu fuer Insert, Update und Delete Statements eine OUTPUT Option. Die liefert dir die geaendertden Daten zurueck. Damit ists kein Problem alles nochmal wegzusichern. in den BOL sind auch gute Beispiele dazu. Goos Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kossy Geschrieben 8. August 2011 Autor Teilen Geschrieben 8. August 2011 Hallo ! Seit dem SQL Server 2005 gibts dazu fuer Insert, Update und Delete Statements eine OUTPUT Option. Die liefert dir die geaendertden Daten zurueck. Damit ists kein Problem alles nochmal wegzusichern. in den BOL sind auch gute Beispiele dazu. Danke schön für den Tipp, das werde ich mir mal näher ansehen. Was genau meinst Du mit BOL? Die Abkürzung ist mir leider nicht geläufig. Viele Grüße Kossy Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Goos Geschrieben 8. August 2011 Teilen Geschrieben 8. August 2011 BOL = SQL Server Books Online = die Hilfe des SQL Sever Goos Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kossy Geschrieben 8. August 2011 Autor Teilen Geschrieben 8. August 2011 BOL = SQL Server Books Online = die Hilfe des SQL Sever Finde ich diese in dem MSDN? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Goos Geschrieben 8. August 2011 Teilen Geschrieben 8. August 2011 Du hast sie evtl. schon zusammen mit deinem SQL Server installiert und bekommst per F1 Taste im Management Studio zur entsprechenden Hilfe. Falls nicht, kannst du BOL auch separat herunterladen und installieren. Download Details - Microsoft Download Center - SQL Server 2008 R2 Books Online Goos Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
dr.dimitri Geschrieben 8. August 2011 Teilen Geschrieben 8. August 2011 Der SqlServer bietet doch sicherlich eigene, deutlich effizientere Möglichkeiten ein Backup/Recovery durchzuführen. Wieso sollte man das nochmal mit viel Aufwand nachprogrammieren wollen? Eine solche Lösung bereitzustellen ist Sache der DB - sie zu nutzen hingegen die des Administrators. Dim Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Goos Geschrieben 8. August 2011 Teilen Geschrieben 8. August 2011 Sicher gibts das. Meiner Interpretation nach gehts hier aber eher wieder um eine Aenderungsprotokollierung von Daten und nicht um ein Backup. Auch dafuer gibts allerdings ne gute Loesung namens CDC (Change Data Capture). Diese Feature bietet allerdings nur die Enterprise Version des SQL Server, welche aus Kostengruenden oftmals nicht eingesetzt wird. Goos Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.