Announcement

Collapse
No announcement yet.

Record innerhalb der gleichen Tabelle kopieren

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Record innerhalb der gleichen Tabelle kopieren

    Hallo,<br>
    geg: <br>
    ist eine Tabelle mit einem Primärschluessel (id integer) und einigen anderen Feldern
    <br>
    ges: Ich möchte diesen Record kopieren, den neuen Primärschlüssel habe ich schon.<P>
    Ich schaffe es nur nicht ;(.<br>
    Einige float Felder sind NULL,<br>
    es kommt nun die Fehlermeldung <conversation error from string """><br>
    Ich hatte das so machen wollen, dass ich alle Feldnamen und Feldinhalte als String in eine Liste packe,<br>
    daraus eine prepared Query erzeuge (ich muß diese Query sehr oft aufrufen)<br>.
    Dummerwiese kommt jetzt diese Meldung.<br>
    Am Erzeugen der Query kann es nicht liegen, das klappt einwandfrei (sql monitor).
    <P>
    Kann mir jemand helfen
    <br>
    Danke Heiko

  • #2
    Hallo Heiko,<br><br>
    vermutlich wird ein Leerstring für die Float-Felder mit NULL ausgelesen, der dann verwendet wird um den Float-Feldern in Deiner "Ziel-Query" einen Wert zuzuweisen. Angenommen man hat folgende Tabelle:
    <pre>
    CREATE TABLE TEST2 (
    ID INTEGER NOT NULL,
    MYFLOAT FLOAT
    );
    </pre>
    Der Versuch von <i>insert into test2 (id, myfloat) values (3, '')</i> ergibt den von Dir oben beschriebenen Fehler.<br><br>
    Gruss,<br>
    Thoma
    Thomas Steinmaurer

    Firebird Foundation Committee Member
    Upscene Productions - Database Tools for Developers
    Mein Blog

    Comment


    • #3
      Hallo Heiko,<BR>
      ich würde dafür eine Stored Procedure nehmen.<BR>
      Als Parameter den neuen Primary Key und dann etwa so:<BR><BR>
      Insert into tabelle select newPrimaryKey,feld2,feld3...
      from tabelle where altPrimaryKey=wert<BR><BR>
      Fran

      Comment

      Working...
      X