whine: sprechende Schlüssel beseitigen

Guten Morgen!

Nachdem  mein JOIN-Problem gelöst ist, habe ich mich doch entschlossen, die DB-Struktur zu säubern und aus:

orte_tbl
NR (PK) [char] | NAME
------------------------
BÜ_1000        | Büsum
BRE_1001       | Bremen
HU_1001        | Husum

werte_tbl
ID | NR (FK) [char] | WERT
-------------------------------
1  |BÜ_1000         | 50,2
2  |BÜ_1000         | 75,4
3  |1001            | 40,8

sowas zu machen:

orte_tbl
OID (PK) [int auto incr.]|NR  [char] | NAME
--------------------------------------------
1                        |BÜ_1000    | Büsum
2                        |BRE_1001   | Bremen
3                        |HU_1001    | Husum

werte_tbl
ID | OID (FK) [int]  | WERT
-------------------------------
1  |1                | 50,2
2  |1                | 75,4
3  |2                | 40,8

Also die sprechenden Schlüsselbeziehungen beseitigen und durch int ersetzen. Für die orte_tbl ist das einfach (neue Spalte, int autoincr.), nur wie kriege ich das mit dem Fremdschlüssel in der werte_tbl hin (damit hinterher auch wieder die Beziehungen passen)? Über eine Abbfage?

whine

  1. Hi,

    Also die sprechenden Schlüsselbeziehungen beseitigen und durch int ersetzen. Für die orte_tbl ist das einfach (neue Spalte, int autoincr.), nur wie kriege ich das mit dem Fremdschlüssel in der werte_tbl hin (damit hinterher auch wieder die Beziehungen passen)? Über eine Abbfage?

    ja, UPDATE mit SELECT. Sollte nicht allzu schwierig sein, zumal es nur ein mal passieren muss :-)

    Cheatah

    --
    X-Self-Code: sh:( fo:} ch:~ rl:| br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. Hi,

      Also die sprechenden Schlüsselbeziehungen beseitigen und durch int ersetzen. Für die orte_tbl ist das einfach (neue Spalte, int autoincr.), nur wie kriege ich das mit dem Fremdschlüssel in der werte_tbl hin (damit hinterher auch wieder die Beziehungen passen)? Über eine Abbfage?

      ja, UPDATE mit SELECT. Sollte nicht allzu schwierig sein, zumal es nur ein mal passieren muss :-)

      Cheatah

      Super!
      Mit

        
      update werte_tbl set oid =(select id from orte_tbl where  
      orte_tbl.nr = werte_tbl.nr);
      

      hab ich es hingekriegt.

      Danke!