unklarer ablauf



  • hallo
    ich muss ein programm erstellen, welches folgenden Ablauf durchlaufen muss:

    es gibt eine sql abfrage auf einem sql sever.
    also zum beispiel: "SELECT name, vorname, wohnort FROM personen"

    weil die tabellen auf dem sql server hundertausende von datensätzen beinhalten muss ich irgend ein geschickter ablauf haben, welcher mir
    nicht das system überlastet.

    bisher habe ich es so gelöst:
    ich las alle datensätze aus mit "SELECT * FROM personen" und schrieb die datensätze in ein mehrdimensionalen array.
    danach las ich den array wieder aus und schrieb so dieses array mit "INSERT INTO personen..." in eine nächtste tabelle auf einer anderen datenbank
    wenn ich aber alles auf einmal auslese, dann kommt das programm ziemlich an den anschlag.

    darum dachte ich an eine variante wie, 1 datensatz auslesen und gleich in die nächste datenbank hereinschreiben.dann den nächtsten datesatz auslesen und gleich in die datenbank hereinschreiben.usw.

    wie könnte ich das am besten machen?hat jemand ne idee??

    vielen dank für jeden tipp
    🙂
    k.



  • Du willst also einen Teil einer Tabelle in eine andere Tabelle schreiben?
    Wieso schaufelst Du dann die Daten erst in eine Anwendung, anstatt einfach ein
    entsprechendes SQL-Statement abzuschicken?

    Gruß,

    Alexander



  • die zu exportierenden daten müssen angezeigt werden können.
    mit hilfe dieser anwendung kann man auch sagen, welche spalten von der quelltabelle man in welche spalten der zieltabelle haben will.



  • Mir ist der Ablauf in der Tat noch etwas unklar.
    Du zeigst also in einer (vielleicht tabellarischen) Ansicht alle Datensätze an, aus
    denen der Benutzer irgendwelche wählt, die dann in eine andere Tabelle eingefügt
    werden.
    Wenn der Benutzer die Wahl hat, hast Du doch eigentlich gar keine andere Wahl, als
    alle Datensätze anzuzeigen, oder?
    Hilfreich wäre es vielleicht, wenn der Benutzer Filterkriterien festlegen kann,
    über die er bereits eine Vorauswahl treffen kann. Hundertausende von Datensätzen
    kann ein Benutzer normalerweise nicht per Hand einzeln selektieren.

    Gruß,

    Alexander



  • ne, es ist so:
    man wählt zuerst die zuordnungen (diese spalte zu dieser spalte) und kann sie dann anzeigen lassen oder direkt exportieren.



  • Hallo

    dann mußt du erstmal die Felder der Tabellen bestimmen, geht mit

    SHOW FIELDS FROM `TableName`
    

    bis bald
    akari



  • akari schrieb:

    SHOW FIELDS FROM `TableName`
    

    Für welche Datenbanken funktioniert das? Nur für SQL Server?

    Gruß,

    Alexander



  • Hallo

    Bei MySQL funktioniert es. Ist das nicht Teil des SQL-Standards?

    bis bald
    akari



  • Also bei Informix 7 und Sybase SQL Anywhere 9 funktioniert das nicht.
    Und zumindest Sybase scheint den SQL-Standard ganz gut abzudecken.

    Gruß,

    Alexander


Anmelden zum Antworten