Legen Sie eine Sequenz, und WÄHLEN Sie

Ich versuche in eine Tabelle einfügen, wo die ID ist die nächste in einer Sequenz, und einige von den anderen Werten gezogen werden, die aus einer Tabelle. Ich weiß, dass das nicht funktionieren:

INSERT INTO ORDERS(order_id, foo1, foo2, foo3
VALUES(SEQUENCE_ORDERS.nextval,(SELECT foo1, foo2, foo3
                                FROM bar
                                WHERE X = Y))

Ich habe gerade versucht, und ich bekomme ein "nicht genügend Werte" - Fehler.

Wollte ich wissen, wie die korrekte syntax für diese zu arbeiten. Ich bin mit PLSQL in einer Oracle-DB - (Teil einer Prozedur, die ich Schreibe).

Weiß ich, dass die select-sollte nicht innerhalb der WERTE (), aber wie kann ich auch hinzufügen, die Reihenfolge? Die einzige Möglichkeit die ich mir denken kann wäre ein trigger für das einfügen, aber ich würde es lieber nicht zu tun.

EDIT: danke an Euch alle, so wie ich es herausgefunden hat, hat jeder geschrieben. Wusste nicht, es war ok, um die Reihenfolge, in der Sie wählen.

  • Manchmal brauche ich nur geben Sie Sie heraus, welches problem ich habe dann ganz plötzlich kommt es mir vor. Danke an alle beantwortet!
InformationsquelleAutor null | 2011-07-08
Schreibe einen Kommentar