Mit SQL einzelne Datensätze kopieren?



  • Hallo!
    Ich habe in mein Programm (C++ Builder) SQL eingebunden. Nun meine Frage, kann ich mit SQL genauso wie mit der Table Komponente aus meinem Builder auch einzelne Datensätze kopieren?

    Mein SQL Code sieht wie folgt aus:

    INSERT INTO "tabelle1.db" SELECT * FROM "tabelle2".
    

    So kopiert er die gesamte Datenbank. Es muss doch noch eine andere Möglichkeit geben, ich möchte nicht bei einem einzelnen Datensatz alle Felder der Datenbank mit angeben müssen, die Datenbank hat 50 Felder.....

    Seh ich vor lauter Bäumen den Wald nicht?

    Gruß

    Maik



  • Hallo,

    Das kommt nun darauf an, wie du die zu kopierenden Datensätz identifizieren willst. Du musst halt eine entsprechende where Abfrage generieren. Hast du keinen Primary Key?



  • Jo, das ist richtig, muss vorher schreiben welche:

    z.B.

    INSERT INTO "tabelle1.db" SELECT * FROM "tabelle2" WHERE `INDEX`= 1;

    Viel Glück
    Gruß
    -Patrick



  • Danke für die Antworten.

    Problem ist nur es gibt keinen Primary Key bzw. keine Fortlaufende Nummer.

    Habt ihr eine Idee wie das dann gehen soll?

    Gruß

    Maik



  • Eine Tabelle ohne Primärindes darf sich nicht Tabelle nennen... 😉

    Tja, Du mußt schon selbst wissen, anhand welcher Felder Du einen Datensatz eindeutig identifizieren kannst. Diese mußt Du dann alle in der WHERE-Klausel aufführen.

    Ich kann allerdings nur dringenst empfehlen, grundsätzlich in allen Tabellen einen Primärindex zu verwenden (einfach ein AutoInc-Feld).



  • Es handelt sich hierbei um eine Paradoxtabelle, keine Ahnung wie der Programmierer die neuen Datensätze anlegt, aber ich habe in der Tabelle kein AutoInc-Feld oder ähnliches finden können.

    Gruß

    Maik


Anmelden zum Antworten