kossy Geschrieben 5. August 2011 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
Goos Geschrieben 5. August 2011 Geschrieben 5. August 2011 Nein, es gibt keinen Insert, Update oder Delete Cursor. Ein Cursor bewegt sich immer nur auf einem Result Set. Goos
kossy Geschrieben 5. August 2011 Autor 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
streffin Geschrieben 5. August 2011 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
Goos Geschrieben 8. August 2011 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
kossy Geschrieben 8. August 2011 Autor 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
Goos Geschrieben 8. August 2011 Geschrieben 8. August 2011 BOL = SQL Server Books Online = die Hilfe des SQL Sever Goos
kossy Geschrieben 8. August 2011 Autor Geschrieben 8. August 2011 BOL = SQL Server Books Online = die Hilfe des SQL Sever Finde ich diese in dem MSDN?
Goos Geschrieben 8. August 2011 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
dr.dimitri Geschrieben 8. August 2011 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
Goos Geschrieben 8. August 2011 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
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden