tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
3
ZUGRIFFE
504
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    eagle1985 eagle1985 ist offline Mitglied Silber
    Registriert seit
    May 2007
    Beiträge
    63
    Hallo zusammen,

    habe ein Problem bei einem Insert-Statement. Ich möchte Werte aus einem Select-Statement in eine andere Tabelle einfügen.

    Das Problem ist nun, dass der PKEY aus einer autosequenz stammt und übergeben werden muss. Oracle ist da leider nicht so tolerant mit auto numbers wie andere Datenbanken

    Hat jemand eine Ahnung wie das geht? die nextVal funktion klappt in einem normalen Insert mit Values problemlos nur im SELECT gehts nicht rein.

    Möchte gerne sowas haben:
    Code sql:
    1
    2
    3
    
    INSERT INTO
       tTable
    VALUES (pkey.NEXTVAL, (SELECT * FROM tTable2 WHERE...))

    Gruss
     

  2. #2
    Avatar von Yaslaw
    Yaslaw Yaslaw ist offline n/a
    tutorials.de Moderator
    Registriert seit
    Dec 2007
    Ort
    Winterthur(CH)
    Beiträge
    5.205
    VALUES und SELECT * innerhalb des INSERT ist eh ein komisches Konstrukt

    Versuchs mal mit
    Code sql:
    1
    2
    3
    4
    5
    6
    7
    8
    
    INSERT INTO tTable (id, Feld1, Feld2)
    (   SELECT 
            pkey.NEXTVAL AS id, 
            t2.Feld1,
            t2.feld2
        FROM 
            tTable2 AS t2 
        WHERE...)
     
    ---------------------------------------------------------------------------------------------------
    item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
    item: Tutorial: [PHP][MySQL] Debug Queries
    item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
    item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben

  3. #3
    eagle1985 eagle1985 ist offline Mitglied Silber
    Registriert seit
    May 2007
    Beiträge
    63
    Hi Danke für den Typ,

    geht leider auch nicht. Es erscheint immernoch die Meldung ORA-02287: sequence number not allowed here

    NEXTVAL klappt nicht inerhalb des SELECTs...
     

  4. #4
    eagle1985 eagle1985 ist offline Mitglied Silber
    Registriert seit
    May 2007
    Beiträge
    63
    Habe Rausgefunden, dass die NEXVAL in ORACLE DISTINCT und GROUP BY nicht mögen und es daher nicht geklappt hat, da sich bei mir noch ein Distinct in Select eingeschlichen hat
     

Ähnliche Themen

  1. insert mit select
    Von grünes-huhn im Forum Relationale Datenbanksysteme
    Antworten: 11
    Letzter Beitrag: 30.04.09, 09:49
  2. INSERT mit SELECT
    Von Nord-Süd-Richtung im Forum Relationale Datenbanksysteme
    Antworten: 4
    Letzter Beitrag: 04.01.09, 21:27
  3. Insert -> Select -> Insert in einem Zug
    Von rollerueckwaerts im Forum PHP
    Antworten: 2
    Letzter Beitrag: 18.02.08, 00:54
  4. SELECT im INSERT?!
    Von qde im Forum Relationale Datenbanksysteme
    Antworten: 2
    Letzter Beitrag: 23.11.06, 12:37
  5. INSERT INTO mit SELECT für FK
    Von darkie_max im Forum Relationale Datenbanksysteme
    Antworten: 6
    Letzter Beitrag: 03.06.04, 21:00

Stichworte