bestehende db per java ordnen

janinejaeger

Mitglied
Hallo,

ich möchte mit meinem Javaprogramm eine DB ordnen. Kenne jemand den Befehl?
..ich tu mich da schwer, weil es is ja kein Insert oder select.... Bitte um Hilfe :-) -sofern es überhaupt geht.

LG; Janine
 
Hi,

Ich verstehe die Frage nicht. Willst Du eine Datenbank-Tabelle physikalisch sortieren? Das kannst Du vergessen.

Aber mit "order by"-Klausel von SQL kannst Du die Daten sortiert ausgeben lassen. Am besten Du setzt einen Index auf das zu sortierende Feld.

Beispiel:

Select Firma, Ort, Telefon from Kunden Order By Ort;

Java kann Dir da nicht helfen.

Gruss
 
oh,also das geht nicht, hmmm...
na gibt es eine möglichkeit, dann neue Beiträge geordnet einzufügen in die BD...mein SQL-java-befehl zum einfügen ans ende sieht so aus:

Code:
int n = st
					.executeUpdate("INSERT INTO Indexes (Pernr,Scandate) VALUES ('"
							+ pernr + "','" + sdate + "')");
			outp.out("Database updated" + ".");

Weisst du da was?
 
Hallo,

mich würde mal interessieren warum du sowas machen willst. Vielleicht gibts ja ne andere Lösung.

MFG

zEriX
 
Hallo,

das "ordnen" macht doch das "order by" und damit die Abfrage nicht solange läuft gibt es den Index, dafür ist der doch da.

Und wenn du eine Tabelle wirklich sortieren willst, dann kannst du ja eine TempTabelle mit gleicher Struktur anlegen und die Daten sortiert einfügen und dann die Tabellen löschen bzw. umbenennen.

Aber das hat nichts mit Java zu tun, denn das alles machst du ja mit Datenbankmitteln, die dann mit einer Java-Anwendung ausgeführt werden.
 
Hallo,

balso,ich soll ein programm schreiben, dass eine DB mit einer anderen updated (personnel numer und scandate). Leider ist in der upzudatenden DB die personnel number ein String und nicht eindeutig, d.h. es ist oft so,dass eine personnel number mehrmals mit verscihedenen Scandaten auftaucht.
Bei mir läuft alles soweit, nur wäre es ebend schön,wenn die upgedateted db dann geordnet ist. :)
 
Hallo,

also ein
int n = st
.executeUpdate("INSERT INTO Indexes (Pernr,Scandate) VALUES ('"
+ pernr + "','" + sdate + "')ORDER by Pernr");
outp.out("Database updated" + ".");

... würde klappen (also ein Insert Order by....)?

..kanns ja mal probieren...

LG
 
Ich verstehe Dein Problem zwar nicht wirklich, aber vielleicht helfen dir die SQL Befehle DISTINCT und UNION weiter.
Mit DISTINCT würdest du nur ein Ergebniss bekommen, wenn dies öfter vorkommt und mit UNION kannst du zwei Tabellen verknüpfen. Deine Lösung könnte dann vielleicht so aussehen, das du eine View erstellst die so ausschaut

select personalnummer from tab1
UNION
select personalnummer from tab2

und dann eine Abfrage

select DISTINCT personalnummer from v_view
 
Zurück