# ORACLE - INSERT + Subquery / SELECT ... INTO



## AJAX Lauch (26. Februar 2008)

Hi,

Ich hab da ein kleines Problem. Also gibt es etwas ähnliches wie "Select...into" aus mysql auch in Oracle?

Wenn nicht hab ich mir schon was anderes ausgedacht nur hab ich da ebenfalls ein Problem.

Das wäre mein Plan B:
"INSERT INTO NORMEN (dat,norm,sprache)
VALUES ((SELECT table1.dat,table1.norm,table2.sprache FROM table1 INNER JOIN table2 ON table1.key = table2.key WHERE table1.norm = 'N'))"

Das Problem ist wie ihr ja bestimmt schon seht gilt der subquery nur für die erste spalte "dat".

Wie bekomm ichs hin, dass ich nicht für jede Spalte einen neuen subquery im VALUES-Teil machen muss?


----------



## Exceptionfault (29. Februar 2008)

Zunächst wäre es nett, wenn du deinen Code per "[ C O D E ]" ein klein wenig lesbarer formatierst.
Unter Oracle heisst dein Vorhaben Insert As Select. Also das Ergebnis eines Selects in eine Tabelle
einfügen. Hierbei fällt die VALUES Klauses weg, und du gibst direkt das SELECT Statement an.

Das setzt voraus, dass das SELECT auch alle relevanten Spalten der Zieltabelle liefert:

```
INSERT INTO NORMEN ( dat, norm, sprache )
   SELECT table1.dat, 
          table1.norm,
          table2.sprache 
   FROM   table1 
   INNER JOIN table2 
   ON     table1.key = table2.key 
   WHERE  table1.norm = 'N';
```


----------



## AJAX Lauch (29. Februar 2008)

:suspekt: hey danke probier ich gleich mal aus.


----------

