SQL Befehl für kompletten Satz leeren [ERLEDIGT]

Alles zum SQL-Dialekt

Moderator: Moderatoren

Antworten
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

SQL Befehl für kompletten Satz leeren [ERLEDIGT]

Beitrag von Manfred »

ich arbeite derzeit mit dem ADS und möchte ein paar Pauschalroutinen in SQL darstellen. Bisher habe ich es so gemacht, das ich einen zu löschenden Satz komplett leere und dann DELETE kennzeichne. So kann ich ihn im zweifelsfalle wieder benutzen, wenn ein neuer Satz angelegt werden soll. Das habe ich mit einer Methode gemacht, die alle Felder automatisch geleert hat mit entsprechenden Leer, oder 0 oder .F. Werten. Gibt es da was für SQL, oder muß man wirklich alle Felder angeben mit den Leerwerten, die jedesmal benötigt werden? Bei einem Satz ist das ok, aber es kann auch vorkommen, das ganze Satzpakete geleerte und dann gelöscht werden müssen. Das stelle ich mir unter SQL dann wesentlich schneller vor.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: SQL Befehl für kompletten Satz leeren

Beitrag von Tom »

Ich weiß, Du magst solche Gegenfragen nicht, aber ich kann sie mir einfach nicht verkneifen: Warum zur Hölle sollte man das tun? Wenn man mit dateibasierten Datenbanken arbeitet, ist der Benefit halbwegs klar, aber bei einem SQL-Server gewinnst Du nichts. Der sorgt selbst dafür, dass der Platz optimal verwendet wird, und das Datensatzrecycling ist hier wirklich das, was es ist, nämlich ein Anachronismus. Außerdem denkst Du offenbar immer noch satzorientiert, und diese Denke musste Du bei SQL sowieso loswerden.
Herzlich,
Tom
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: SQL Befehl für kompletten Satz leeren

Beitrag von Manfred »

Hi Tom,
ich kann Dir jetzt nicht folgen. Es sind noch DBF Dateien und das Programm muß noch weiter auf SQL umgestellt werden. Ich versuche jetzt nur Schritt für Schritt den Vorgang zu vollziehen. Für Routinen, die mir derzeit klar und einfach erscheinen dafür fange ich an. Für kompliziertere Stellen, muß ich halt meine Erfahrung noch härten und abwarten, bis ich genau verstehe, was ich wie gegen SQL tauschen kann. Ich muß es ja auch später noch nachvollziehen können, was ich hier und heute gestrickt habe.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: SQL Befehl für kompletten Satz leeren

Beitrag von Tom »

Ah, okay, das hatte ich nicht auf dem Schirm. Wenn Du mit einem SQL-Server wie PostGre, MySQL, Microsoft SQL usw. arbeiten würdest, wäre das konzeptionell Unfug, Datensätze zu recyceln, das habe ich gemeint. Aber das machst Du nicht, Du bist ja mit dem ADS unterwegs.

Zu Deiner Frage: Es gibt meines Wissens kein Statement, dass das out-of-the-box kann, das wäre ein "UPDATE ... SET ... WHERE" unter Angabe aller Spalten. Und ein guter Kandidat für eine STORED PROC. :wink:
Herzlich,
Tom
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: SQL Befehl für kompletten Satz leeren

Beitrag von Manfred »

damit kenne ich mich überhaupt noch nicht aus. (Stored Proc)
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
nightcrawler
1000 working lines a day
1000 working lines a day
Beiträge: 650
Registriert: Di, 24. Apr 2012 16:33
Wohnort: 72184 Weitingen
Hat sich bedankt: 3 Mal
Danksagung erhalten: 96 Mal
Kontaktdaten:

Re: SQL Befehl für kompletten Satz leeren

Beitrag von nightcrawler »

Code: Alles auswählen

create table test(id integer, text char(30), text2 char(30), datum date);
create trigger trig_del on test after delete
begin
  update test set id=null, text=null, text2=null, datum=null where rowid=::stmt.TrigRowId;
end;
--
Joachim
Joachim Dürr Softwareengineering
https://www.jd-engineering.de
Antworten