Herbert Mueller: Vermaledeites PERL

Hallo Zusammen,

Mit welchem Perl-Befehl ist es möglich, einen Record aus einer Flat-File-Datenbank zu löschen?

Das eindeutige auffinden eines Datensatzes ist hier wohl nicht das eigentliche Problem. Jedoch habe ich festgestellt, das es in Perl keinen EINDEUTIGEN Befehl gibt, um einen identifizierten Datensatz zu löschen.

Can anybody help?

Vielen Dank im voraus,

Herbert Mueller

  1. Mit welchem Perl-Befehl ist es möglich, einen Record aus einer Flat-File-Datenbank zu löschen?
    Das eindeutige auffinden eines Datensatzes ist hier wohl nicht das eigentliche Problem. Jedoch habe ich festgestellt, das es in Perl keinen EINDEUTIGEN Befehl gibt, um einen identifizierten Datensatz zu löschen.

    Zwischen SQL(Datenbank) und Perl gibt es ganz unterschiedliche Konzepte, was "löschen" und "record" und "eindeutig" angeht.
    Mir ist angesichts der dürftigen Angaben nicht klar, inwiefern Dein Problem darauf beruht, daß Du in Perl denkst, wo Du in SQL denken solltest.

    1. Mit welchem Perl-Befehl ist es möglich, einen Record aus einer Flat-File-Datenbank zu löschen?
      Das eindeutige auffinden eines Datensatzes ist hier wohl nicht das eigentliche Problem. Jedoch habe ich festgestellt, das es in Perl keinen EINDEUTIGEN Befehl gibt, um einen identifizierten Datensatz zu löschen.

      Zwischen SQL(Datenbank) und Perl gibt es ganz unterschiedliche Konzepte, was "löschen" und "record" und "eindeutig" angeht.
      Mir ist angesichts der dürftigen Angaben nicht klar, inwiefern Dein Problem darauf beruht, daß Du in Perl denkst, wo Du in SQL denken solltest.

      OK, nochmals:

      wenn ich einen 'datansatz' aus einer flat-file-db herausfiltern will, funktioniert dies.

      ich kann diese daten auch anzeigen. Ich kann diese auch mutieren.

      das problem fängt jetzt aber an dem punkt an, wo die daten wieder zurück in das flat-file geschrieben werden.

      ich habe via perl-commands KEINE möglichkeit, den mutierten datensatz wieder an die 'alte' stelle im flat-file zu schreiben.

      du kannst einen datensatz (egal ob's ein neuer ist, oder ob du ihn aus der flat-file anzeigen lässt) immer nur am schluss im flat-file anhängen.

      der alte, ursprüngliche satz, ist jetzt aber auch noch in der flat-file drin. ich kann diesen nicht löschen.

      1. Mit welchem Perl-Befehl ist es möglich, einen Record aus einer Flat-File-Datenbank zu löschen?
        Mir ist angesichts der dürftigen Angaben nicht klar, inwiefern Dein Problem darauf beruht, daß Du in Perl denkst, wo Du in SQL denken solltest.
        das problem fängt jetzt aber an dem punkt an, wo die daten wieder zurück in das flat-file geschrieben werden.

        Was soll denn das genau sein, eine Flat-File-Datenbank? Ist das wirklich ein Fachbegriff oder hast Du dir das Wort selbst ausgedacht? Ich jedenfalls habe noch nie etwas davon gehört.

        Peter

      2. wenn ich einen 'datansatz' aus einer flat-file-db herausfiltern will, funktioniert dies.
        ich kann diese daten auch anzeigen. Ich kann diese auch mutieren.
        das problem fängt jetzt aber an dem punkt an, wo die daten wieder zurück in das flat-file geschrieben werden.

        Genau das meinte ich. In der Tabelle einer Datenbank gibt es keine "Stelle". Tabellen sind Mengen, nicht Listen.

        Die Identifikation eines Datensatzes basiert darauf, ihm etwas zu geben, anhand dessen er eine Identität hat (beispielsweise einen Primärschlüssel).
        Es kann sein, daß Du einen Datensatz wirklich nicht identifizieren kannst, weil der Designer der Tabelle das nicht für wichtig hielt ...

        Ich weiß aber über Dein konkretes Interface nicht genug, um mich im Detail zu äußern. Poste doch mal, mit welchem (CPAN?)-Perl-Modul Du auf Deine Daten zugreifst.
        Mein Wissen basiert bisher darauf, daß ich im Forum gelesen habe, Perl-flatFile-DB würde ungefähr die Semantik von SQL bieten ... hätte ich  den Namen Deines Moduls, dann könnte ich das verifizieren.

  2. Mit welchem Perl-Befehl ist es möglich, einen Record aus einer Flat-File-Datenbank zu löschen?

    Naja...du kannst zumindest die gesamte Datei einlesen, den entsprechenden Datensatz aus der Datenstruktur löschen oder Editieren und dann die die gesamte Datenstruktur wieder über die Datei rüberbügeln. Da dies nicht gerade die schnellste Art ist einen Datensatz zu bearbeiten, splitte ich meine Flat-File Databases immer in möglichst viele kleine Dateien auf, damit die Zugriffe wesentlich schneller werden.

    Gruß
    Cruz