Hallo,
ich habe eine SQL-Tabelle mit Infos über eine Tabelle - als Namen, spaltennamen und datentyp.
Aus diesen Informationen möchte ich nun die Tabellen selbst erstellen mittels SQL! Funktioniert soweit auch ganz gut mit folgendem Code:
Das Problem ist hier nur, dass in der Tabelle mit den Infos jeder Datensatz für einen Spaltennamen besteht - also Datensatz 1 ist tabellenname1 - spaltennamen1 - datentyp1
Datensatz 2 ist tabellenname1 - spaltenname2 - datentyp2
usw
Der erste Datensatz funktioniert super - Tabellenname wird erkannt, alle Spaltennamen und Datentyp werden ausgelesen und zu einem String zusammengefügt........!
Beim zweiten Datensatz allerdings fängt das Problem an, da im zweiten Datensatz die gleiche Tabelle als Tabellenname drin steht - also sucht er von der gleichen Tabelle wie im ersten Datensatz nach den Spalten und Datentyp..............!
Was fehlt ist eine Überprüfung des Tabellennamens, ob diese SQL-Tabelle schon erstellt wurde....... und dann dementsprechend zum nächsten Datensatz geht bis eben ein neuer Tabellenname gefunden wird.......!
Nur wie mach ich diese Abfrage, ob eine SQL-Tabelle besteht?
danke
ich habe eine SQL-Tabelle mit Infos über eine Tabelle - als Namen, spaltennamen und datentyp.
Aus diesen Informationen möchte ich nun die Tabellen selbst erstellen mittels SQL! Funktioniert soweit auch ganz gut mit folgendem Code:
Java:
ResultSet restabellen = lokaldb.executeQuery("Select * from tabelleninfos");
// int id_tab = res.getInt(1);
while (restabellen.next())
{
String tabellenname = restabellen.getString(2);
// Abfrage ob Tabelle schon existent
Statement lokaldb1 = instanz.connection.createStatement();
ResultSet tabellenspaltentyp = lokaldb1.executeQuery("Select * from tabelleninfos where tabname='"+tabellenname+"'");
while (tabellenspaltentyp.next())
{
String spaltenname = tabellenspaltentyp.getString(3);
String datentyp = tabellenspaltentyp.getString(4);
sqlabfrage = sqlabfrage + " " + spaltenname + " " + datentyp + ",";
}
// Tabelle mit Spalten und Datentyp erstellen mittels "if not exist"
System.out.println(tabellenname + sqlabfrage);
}
} catch (SQLException ex) {
System.out.println("SQL-Exception ist aufgetreten: " + ex.getMessage());
}
Das Problem ist hier nur, dass in der Tabelle mit den Infos jeder Datensatz für einen Spaltennamen besteht - also Datensatz 1 ist tabellenname1 - spaltennamen1 - datentyp1
Datensatz 2 ist tabellenname1 - spaltenname2 - datentyp2
usw
Der erste Datensatz funktioniert super - Tabellenname wird erkannt, alle Spaltennamen und Datentyp werden ausgelesen und zu einem String zusammengefügt........!
Beim zweiten Datensatz allerdings fängt das Problem an, da im zweiten Datensatz die gleiche Tabelle als Tabellenname drin steht - also sucht er von der gleichen Tabelle wie im ersten Datensatz nach den Spalten und Datentyp..............!
Was fehlt ist eine Überprüfung des Tabellennamens, ob diese SQL-Tabelle schon erstellt wurde....... und dann dementsprechend zum nächsten Datensatz geht bis eben ein neuer Tabellenname gefunden wird.......!
Nur wie mach ich diese Abfrage, ob eine SQL-Tabelle besteht?
danke