# eine Datenbank updaten



## Taramsis (2. Sep 2009)

Hi Leute,

ich habe ein Java-Programm das Daten aus einer gegeben DB in die eigene DB kopiert! Nun wollte ich bevor ich das Programm starte noch ein update der Daten durchführen!
Ich habe eine DB die Daten aus einer anderen DB speichert.
Ich hatte ja mit "INSERT INTO db1.bla (a,b,c) SELECT x,y,z FROM db2.bla2" die Tabellen meiner DB gefüllt! Wie würde ich dies in sql machen, wenn db1 bereits Daten enthählt.


----------



## Gast2 (2. Sep 2009)

Moin,

eine Synchronisation zwischen zwei Datenbanken sollte das DBMS selber schon anbieten ... was willst Du machen (außer Sync)

hand, mogel


----------



## Taramsis (2. Sep 2009)

Ich weiß! Ich möcht ein SQL Statement, der ein bereits bestehende DB durch Daten einer anderen DB füllt! 
INSERT INTO geht doch nur, die andere DB leer ist oder?


----------



## MrWhite (3. Sep 2009)

1. Leer machen und dann neu befüllen (Mit deinem Insert)

2. Oracle kennt ein Merge-Into Keyword. Das hilft natürlich nur, wenn du Oracle nutzt. MySQL kennt noch "Insert if not exists else update". Das entspricht mehr oder weniger der Merge-Into Klausel.

3. Die "where exists" Klausel ist in jedem Fall dein Freund (Standard-SQL).


Das sollte dir helfen.


----------



## Taramsis (3. Sep 2009)

leere ich eine Tabelle mit 

```
DELETE FROM Tabellenname
```
irgendwie klappts nich bei mir!

managerAlg.getChoosedMod() sind meine Tabellennamen!


```
try {
            for(int i= 0; i<managerAlg.getChoosedMod().length; i++){
                con3 =  (Connection) DriverManager.getConnection(url + db  , user, pass);
                stmt3 = (Statement) con.createStatement();

                stmt3.executeUpdate( "DELETE FROM " + managerAlg.getChoosedMod()[i] + " ");

                System.out.println("deleteTables");
                con3.close();
            }
        }
        catch (Exception e) {
            System.out.println(e);
        }
```


----------



## MrWhite (3. Sep 2009)

Was klappt nicht? Poste mal die Exception und den StackTrace.


----------



## Taramsis (3. Sep 2009)

ich bin auch ein säckl

```
stmt3 = (Statement) con.createStatement();
```
con3 nicht con
muss nachhilfe in copyNpaste nehmen:lol:


----------

