# "insert into" - Problem



## Robt (31. Aug 2005)

Guten Morgen,

so wie fang ich am Besten an.....ich habe eine Oracle Datenbank mit ca. 12Tabellen unterschiedlicher Anzahl an Spalten. Ich kann mir einen einzelnen Datensatz anzeigen lassen, die Inhalte der Datenfelder werden in einfachen Textfeldern ausgegeben und sind veränderbar. Existiert beim Primärschlüssel der Wert noch nicht soll ein neuer Datensatz angelegt werden. Wie kann ich beim insert into die Spaltennamen der Tabelle in das sql-Statement bekommen, sodass es auf die jeweilige Tabelle angepasst ist. Die Spaltennamen hab ich aus dem ResultSetMetaData in eine ArrayList übertragen. Nur je nach dem auf welche Tabelle ich zugreif, sind es zwischen 3 und 8 Spalten und ich will nicht für jede Tabelle nen eigenes insert machen.....
Wer kann helfen...DANKE

Gruß Robt


----------



## thE_29 (31. Aug 2005)

Oracle 


Du benutzt einer der besten Datenbanken => 

mach dir mal einen Select auf

select * from user_tables; für die Tabllen (man könnte aber auch select distinct(table_name) from user_tab_columns; machen)

select * from user_tab_columns; für die Spalten in den Tabellen


----------



## Robt (31. Aug 2005)

Ich frage mich gerade, ob das die Antwort auf meine Frage war....
("Wie kann ich beim insert into die Spaltennamen der Tabelle in das sql-Statement bekommen, sodass es auf die jeweilige Tabelle angepasst ist.")
Steinigt mich wenn ich falsch liege, aber ein insert sieht doch folgendermaßen aus:
insert into "tabelle" (spalte1, spalte2, spalte3,....) values (001, 'abc', 'xyz',....)
Die Spaltennamen der jeweiligen Tabelle hab ich ja, aber wie bekomm ich die da jetzt anstatt (spalte1, spalte2, spalte3,....) in mein SQL-Statement rein....kann ja zwischen 3 und 8 Spalten variieren....


----------



## thE_29 (31. Aug 2005)

aso hast du das gemeint 


wieso machst du nicht ein 


```
for(int x = 0; x != arraymittabllennamen.length; x++)
{
  strInsert = strInsert.replaceFirst("spalte" + (x+1),arraymittabllennamen[x]); //ersetzt es solange, solange es was gibt
}
```

Ich dachte du weißt die Spaltennamen auch net...


----------

