Zum Inhalt springen

TSQL Cursor für Update und Delete Befehle umsetzbar?


kossy

Empfohlene Beiträge

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...