Prüfen ob Tabelle schon vorhanden

Status
Nicht offen für weitere Antworten.

KimKaze

Aktives Mitglied
Hallo,

ich baue eine Verbindung zu einer DB auf und möchte darin eine Tabelle erstellen
allerdings
wenn es die tabelle bereits gibt soll er sie erst löschen.

wie sieht die abfrage dafür aus

hier ein kleines stück code
Code:
Statement smt = verbindung.createStatement();

                                if(????????? Tabelle schon vorhanden?????????????)
                                {
				     smt.execute("DROP TABLE AlleLaender");
				     System.out.println("AlleLaender gelöscht");
				} else {

				     smt.execute("CREATE TABLE AlleLaender (Kuerzel varchar (10), Name varchar (100), PRIMARY KEY (Name))");
                                }

wie sieht die abfrage im if() aus?
 

FenchelT

Bekanntes Mitglied
Fuer den MSSQL Server z.B. so:


Code:
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = object_id(N'[dbo].[Test]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1)   
DROP TABLE [dbo].[Test]
GO 
CREATE TABLE [Test] (
  [id] [int] IDENTITY (1,1) NOT NULL,
  [loekz] [varchar](1) NOT NULL,
  [anldat] [datetime] NOT NULL,
  [anlben] [varchar](15) NOT NULL,
  [aendat] [datetime] NOT NULL,
  [aenben] [varchar](15) NOT NULL,
  [loedat] [datetime] NOT NULL,
  [loeben] [varchar](15) NOT NULL) 
GO 
ALTER TABLE [Bewerber] ADD CONSTRAINT pk_Test PRIMARY KEY (id)


Fuer mySql z.B. so:

Code:
DROP TABLE IF EXISTS `Test`;
CREATE TABLE Test(
  `id` integer unsigned NOT NULL auto_increment,
  `loekz` varchar(1) NOT NULL,
  `anldat` datetime NOT NULL,
  `anlben` varchar(15) NOT NULL,
  `aendat` datetime NOT NULL,
  `aenben` varchar(15) NOT NULL,
  `loedat` datetime NOT NULL,
  `loeben` varchar(15) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;


EDIT: Das laesst Du natuerlich alles die DB pruefen und nicht JAva. Heisst, Du packst das alles in einen SQL String und laesst den ausfuehren
 
M

Michael...

Gast
wenn die Tabelle grundsätzlich gelöscht werden soll, ist es doch egal ob sie existiert. Das Drop-Statement kann man idann in jedem Fall absetzen - ist wahrscheinlich weniger aufwendig, als vorher zu prüfen, ob die Tabelle existiert.
 
M

maki

Gast
Michael... hat gesagt.:
wenn die Tabelle grundsätzlich gelöscht werden soll, ist es doch egal ob sie existiert. Das Drop-Statement kann man idann in jedem Fall absetzen - ist wahrscheinlich weniger aufwendig, als vorher zu prüfen, ob die Tabelle existiert.
Die Tatsache das es einen Fehler gibt wenn man eine nicht vorhandene Tabelle löschen möchte sollte man nicht ignorieren.
 
M

maki

Gast
Aber dann ist der Rest des Staements nicht ausgeführt worden... ich verstehe auch "den ganzen Aufwand ehrlich gesagt nicht.
 

KimKaze

Aktives Mitglied
ok ich dachte da gäbs ne etwas elegantere läösung, habs dann einfach so gemacht
hier code wenn einer gleiche problem hat

Code:
try{
				smt.execute("DROP TABLE AlleLaender");
				System.out.println("AlleLaender gelöscht");
				}catch(Exception e){
					
				}
 

tfa

Top Contributor
Das ist aber eine schlechte Lösung. Wenn es eine Möglichkeit gibt, das ganze ohne "gewollte" Exception durchzuführen, sollte man das auch machen.
Außerdem fängst du pauschal alle Exceptions. Was ist, wenn eine geworfen wurde, die gar nichts mit dem "DROP TABLE" zu tun hat? Die verschluckst du dann ohne Meldung. Viel Spaß bei der Fehlersuche.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
C Prüfen, ob eine MySQL-Tabelle bereits existiert Datenbankprogrammierung 7
R Prüfen ob Tabelle existiert? Datenbankprogrammierung 4
T Spring MongoDB: Prüfen ob bereits eine Email existiert Datenbankprogrammierung 15
zhermann H2 DB prüfen od sie neu ist Datenbankprogrammierung 4
B SQL-Statement Prüfen ob eine Spalte einen Wert enthält Datenbankprogrammierung 2
E Kann man in DB2 gegen ein XML-Schema prüfen? Datenbankprogrammierung 1
D MySQL DB Abfrage Prüfen Datenbankprogrammierung 10
H JDBC prüfen ob Table existiert Datenbankprogrammierung 3
A SQL-Statement prüfen Datenbankprogrammierung 3
F HSQLDB Auf vorhandenen Index prüfen Datenbankprogrammierung 3
klattiator Primärschlüssel auf Existenz prüfen Datenbankprogrammierung 6
G Tabel prüfen Datenbankprogrammierung 5
S connectionstatus prüfen Datenbankprogrammierung 9
K ResultSet prüfen,ob es leer ist oder ob vorhanden Datenbankprogrammierung 2
D Ich möchte dass ich nachdem man den Kommentar geschrieben hat den Kommentar in den Tabelle Bestellübersicht geschbeichert wird klappt nicht bei mir Datenbankprogrammierung 2
D Tabelle an Persistenzeinheit binden Datenbankprogrammierung 1
T Datenbank: Tabelle erstellen bei Web-Applikation Datenbankprogrammierung 4
S gesamte Tabelle löschen Datenbankprogrammierung 2
Zrebna Wie mittels Hibernate eine Join-Tabelle als eigene Java-Klasse erstellen? Datenbankprogrammierung 5
N Oracle SQL - Nächst kleineren Namen2 zu einem Namen aus einer Tabelle Datenbankprogrammierung 3
Kirby.exe Eine Tabelle updaten Datenbankprogrammierung 16
L SQL Tabelle Datenbankprogrammierung 11
L SQL Datenbank Tabelle insert Datenbankprogrammierung 7
L SQL Datenbank Tabelle erstellen Datenbankprogrammierung 6
B Wie kopieren ich eine Spalte von einer Tabelle in eine andere Tabelle SQLite durch java code? Datenbankprogrammierung 26
J Oracle Datenbank-Tabelle per Combobox (oder ähnliches) auswählen Datenbankprogrammierung 3
P Derby/JavaDB Datenbanktabelle erweitern, ohne Tabelle zu ändern Datenbankprogrammierung 6
B Datenmodell für Regeln + Bedingungen & Referenz auf andere Tabelle Datenbankprogrammierung 12
S FilterSearch Tabelle Datenbankprogrammierung 4
J Aufbau meiner Datenbank/Tabelle - Verbessern? So lassen? Datenbankprogrammierung 39
Dimax MySQL 10 höchsten Werte aus einer Tabelle ermitteln Datenbankprogrammierung 30
L Java- Zähle alle Werte aus der Tabelle von aktiver Zelle Datenbankprogrammierung 12
B Tabelle für "wiederkehrende Rechnungen" Datenbankprogrammierung 12
P JSP - Daten aus 2 Tabellen in eine neue Tabelle einfügen Datenbankprogrammierung 1
Thallius MySQL Tabelle splitten aber wie eine abfragen? Datenbankprogrammierung 10
D MySQL Suche nach Max Value in einer Tabelle Datenbankprogrammierung 7
RowdyN SQLite Einfache Abfrage mit temporäre Tabelle, die nur innerhalb der Abfrage gültig ist Datenbankprogrammierung 0
N Dynamische Tabelle Datenbankprogrammierung 84
T Zeitraum aus SQL-Tabelle Datenbankprogrammierung 3
V SQLite 2 Tabelle vergleichen und alle unterschiede rausgeben Datenbankprogrammierung 1
D UCanAccess / MS Access - Tabelle / Spalte vorhanden Datenbankprogrammierung 3
M MySQL wie Listen oder arras in Tabelle(n) schreiben Datenbankprogrammierung 10
Paul15 Tabelle vergleichen Datenbankprogrammierung 15
J Tabelle synchronisieren mit Datenbank Datenbankprogrammierung 7
E Wie kann man bestimmte Zeilen der Tabelle rot markieren? Datenbankprogrammierung 1
L Tabelle mit Inhalt füllen Datenbankprogrammierung 2
J Optimierung von Querys/ ausgegebene Tabelle mit in neue Anfrage einbinden Datenbankprogrammierung 2
M Derby/JavaDB Kleine DB mit Tabelle erweitern - Integrität - Alter-Table - Netbeans ... Datenbankprogrammierung 5
C Tabelle erstellen mit Apache JDBC-Util Datenbankprogrammierung 1
A MySQL Tabelle ID abfragen und Spalte ausgeben Datenbankprogrammierung 4
S Update Tabelle aus Textfeld Datenbankprogrammierung 2
A MySQL Problem bei Tabelle ausgeben Datenbankprogrammierung 3
E Nur der letzte Datensatz wird in Tabelle geschrieben Datenbankprogrammierung 4
B Nur 99% der Datensätze werden in Tabelle geschrieben Datenbankprogrammierung 2
Joew0815 Datenmerge große Tabelle Datenbankprogrammierung 16
R MySQL Blob aus DB auslesen und einer Tabelle ausgeben Datenbankprogrammierung 7
P Neue Tabelle dazugekommen Datenbankprogrammierung 1
C H2 Syntax fehler beim erstellen einer Tabelle Datenbankprogrammierung 4
J Normalisierung - Aufspaltung der Tabelle Datenbankprogrammierung 4
V HSQLDB Insert in eine Tabelle mit Autoincrement Datenbankprogrammierung 2
S Wie muss meine SQL Tabelle aufgebaut sein, um unendliche Attribute zu vermeiden Datenbankprogrammierung 2
R HSQLDB Tabelle in JTable übertragen Datenbankprogrammierung 3
S MySQL Einfügen in Tabelle nur von Programm zulassen Datenbankprogrammierung 7
S Oracle Database 11g , eclipse , Tabelle erstellen Datenbankprogrammierung 2
L MySQL Uhrzeit-Format innerhalb einer Tabelle Datenbankprogrammierung 8
E Abfrage nach existierender SQL-Tabelle Datenbankprogrammierung 7
M Designfrage zu Rows die sich auf einen Datensatz derselben Tabelle beziehen Datenbankprogrammierung 7
N Temporäre tabelle MySQL Datenbankprogrammierung 2
X MySQL Hibernate: Massenupdate auf unbekannte Tabelle Datenbankprogrammierung 4
D DB Tabelle in JTable anzeigen - Probleme Datenbankprogrammierung 8
Rudolf MySQL MySQL Tabelle mit Fremdschlüsseln in JTable darstellen Datenbankprogrammierung 5
Kenan89 Oracle Daten einer Tabelle in Array speichern Oracle Datenbankprogrammierung 10
L SQLite Daten werden nicht in die Tabelle eingefügt Datenbankprogrammierung 7
D JPA (Hibernate) : Tabelle zweimal joinen Datenbankprogrammierung 4
G Oracle Hibernate M:N-Beziehung mit nur einer vorhandenen Tabelle Datenbankprogrammierung 5
N [XLS]Strings in Excel-Tabelle schreiben (poi) Datenbankprogrammierung 2
M DB View in Tabelle konvertieren in DB2? Datenbankprogrammierung 2
N Einzelne Spalte in MySQL-DB-Tabelle schreiben Datenbankprogrammierung 7
D Probleme bei der Erzeugung einer Tabelle Datenbankprogrammierung 15
I Derby/JavaDB Problem mit Befüllung von Tabelle Datenbankprogrammierung 7
H MySQL Tabelle "Table" programmieren Datenbankprogrammierung 2
S Problem beim Anlegen einer Tabelle Datenbankprogrammierung 5
I Tabelle mit "|" getrennten Werten -> einzelnen Wert davon abfragen Datenbankprogrammierung 15
L Derby/JavaDB Fehler beim Erstellen einer Tabelle Datenbankprogrammierung 2
A Wie Tabelle auf bestimmten Inhalt überprüfen? Datenbankprogrammierung 7
G SQLite Abfrage, ob in Tabelle X Spalte Y existiert Datenbankprogrammierung 4
Y Tabelle (elegant) importieren Datenbankprogrammierung 4
turmaline [Hibernate] @OneToMany - Eine referenzierte Tabelle abfragen Datenbankprogrammierung 11
T Update an SQL Tabelle ?! Datenbankprogrammierung 10
F Baumstruktur erstellen und Art Tabelle festhalten!? Datenbankprogrammierung 13
S JPA: Objekt in Tabelle mit Composite Keys mappen (Embeddable Annotation) Datenbankprogrammierung 2
A Tabelle aktuell halten Datenbankprogrammierung 5
trash SQL, ganze Tabelle abfragen Datenbankprogrammierung 3
F HSQLDB HSQLDB lässt mich nicht auf erstellte Tabelle zugreifen Datenbankprogrammierung 12
Airwolf89 Spaltennamen einer Tabelle zurückgeben lassen Datenbankprogrammierung 9
J Ausgewählte Datensätze in DB-Tabelle schreiben Datenbankprogrammierung 13
J zufällige Auswahl aus einer Tabelle Datenbankprogrammierung 4
O eine Tabelle hat mehrere PrimKey mit dem selben Wert Datenbankprogrammierung 9
M Ausgabe in Tabelle der MySQL-Datenbank mit Java Datenbankprogrammierung 4
J Tabelle auslesen- knifflig Datenbankprogrammierung 7

Ähnliche Java Themen


Oben