Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 13

Thema: Update von Tabellen in verschiedenen Schemas

  1. #1
    Hammerfall ist offline Neuer Benutzer
    Registriert seit
    30.06.2011
    Ort
    Merseburg
    Beiträge
    6

    Standard Update von Tabellen in verschiedenen Schemas

    Hallo,

    habe in einer DB firma zwei Schemas, a und b.
    Die Tabelle personen im Schema a hat die Felder name, vorname, id.
    Die Tabelle pruefer im Schema b hat die Felder name, vorname, id.
    Wobei die Tab b.pruefer eine Teilmenge der Tab a.personen enthält und
    die id aus a.personen nach b.pruefer übernommen werden soll.

    Mein Ansatz dazu ist :

    UPDATE firma.b.pruefer
    SET id = personen.id
    FROM firma.a.personen
    WHERE (personen.name = pruefer.name AND personen.vorname = pruefer.vorname);

    Leider tut er nichts: Abfrage war erfolgreich durchgeführt: 0 Zeilen, 15 ms Ausführungszeit.

    Wo ist hier mein Denkfehler?
    Gruß Holger

  2. #2
    akretschmer ist offline Super-Moderator
    Registriert seit
    29.10.2006
    Ort
    Dresden
    Beiträge
    5.472

    Standard

    Zitat Zitat von Hammerfall Beitrag anzeigen
    Hallo,

    habe in einer DB firma zwei Schemas, a und b.
    Die Tabelle personen im Schema a hat die Felder name, vorname, id.
    Die Tabelle pruefer im Schema b hat die Felder name, vorname, id.
    Wobei die Tab b.pruefer eine Teilmenge der Tab a.personen enthält und
    die id aus a.personen nach b.pruefer übernommen werden soll.

    Mein Ansatz dazu ist :

    UPDATE firma.b.pruefer
    SET id = personen.id
    FROM firma.a.personen
    WHERE (personen.name = pruefer.name AND personen.vorname = pruefer.vorname);

    Leider tut er nichts: Abfrage war erfolgreich durchgeführt: 0 Zeilen, 15 ms Ausführungszeit.

    Wo ist hier mein Denkfehler?
    Gruß Holger
    Laß mal die Angabe der DB (also firma.) weg.

    Andreas
    --
    ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
    https://www.xing.com/profile/Andreas_Kretschmer7

  3. #3
    Hammerfall ist offline Neuer Benutzer
    Registriert seit
    30.06.2011
    Ort
    Merseburg
    Beiträge
    6

    Standard

    Leider der gleiche "Fehler"
    Abfrage war erfolgreich durchgeführt: 0 Zeilen, 16 ms Ausführungszeit.

  4. #4
    castorp ist offline Erfahrener Benutzer
    Registriert seit
    27.06.2009
    Beiträge
    525

    Standard

    Zitat Zitat von Hammerfall Beitrag anzeigen
    Leider der gleiche "Fehler"
    Abfrage war erfolgreich durchgeführt: 0 Zeilen, 16 ms Ausführungszeit.
    Was liefert denn folgende Abfrage:
    Code:
    SELECT count(*)
    FROM b.pruefer, a.personen 
    WHERE (personen.name = pruefer.name AND personen.vorname = pruefer.vorname);
    A SQL query walks into a bar and sees two tables. He walks up to them and says 'Can I join you?'

  5. #5
    akretschmer ist offline Super-Moderator
    Registriert seit
    29.10.2006
    Ort
    Dresden
    Beiträge
    5.472

    Standard

    Zitat Zitat von Hammerfall Beitrag anzeigen
    Hallo,

    habe in einer DB firma zwei Schemas, a und b.
    Die Tabelle personen im Schema a hat die Felder name, vorname, id.
    Die Tabelle pruefer im Schema b hat die Felder name, vorname, id.
    Wobei die Tab b.pruefer eine Teilmenge der Tab a.personen enthält und
    die id aus a.personen nach b.pruefer übernommen werden soll.

    Mein Ansatz dazu ist :

    UPDATE firma.b.pruefer
    SET id = personen.id
    FROM firma.a.personen
    WHERE (personen.name = pruefer.name AND personen.vorname = pruefer.vorname);

    Leider tut er nichts: Abfrage war erfolgreich durchgeführt: 0 Zeilen, 15 ms Ausführungszeit.

    Wo ist hier mein Denkfehler?
    Gruß Holger
    test=# update b.pruefer b set id = a.id from a.personen a where ((a.name, a.vorname) = (b.name,b.vorname));

    sollte tun, was du willst.

    Andreas
    --
    ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
    https://www.xing.com/profile/Andreas_Kretschmer7

  6. #6
    Hammerfall ist offline Neuer Benutzer
    Registriert seit
    30.06.2011
    Ort
    Merseburg
    Beiträge
    6

    Standard

    Gesamtlaufzeit der Abfrage: 16 ms.
    1 Zeilen geholt.

    Heißt das, er hat nur den ersten Datensatz bearbeitet?

  7. #7
    castorp ist offline Erfahrener Benutzer
    Registriert seit
    27.06.2009
    Beiträge
    525

    Standard

    Zitat Zitat von Hammerfall Beitrag anzeigen
    Gesamtlaufzeit der Abfrage: 16 ms.
    1 Zeilen geholt.

    Heißt das, er hat nur den ersten Datensatz bearbeitet?
    Und welche Zahl steht in dem Ergebnis?
    A SQL query walks into a bar and sees two tables. He walks up to them and says 'Can I join you?'

  8. #8
    Hammerfall ist offline Neuer Benutzer
    Registriert seit
    30.06.2011
    Ort
    Merseburg
    Beiträge
    6

    Standard

    count bigint 0

  9. #9
    castorp ist offline Erfahrener Benutzer
    Registriert seit
    27.06.2009
    Beiträge
    525

    Standard

    Zitat Zitat von Hammerfall Beitrag anzeigen
    count bigint 0
    Das bedeutet, dass es in Deinen Tabellen keine Einträge gibt, die die Bedingung

    (personen.name = pruefer.name AND personen.vorname = pruefer.vorname)

    erfüllen. Und deswegen hat der UPDATE auch keine Datensätze geändert.
    A SQL query walks into a bar and sees two tables. He walks up to them and says 'Can I join you?'

  10. #10
    Hammerfall ist offline Neuer Benutzer
    Registriert seit
    30.06.2011
    Ort
    Merseburg
    Beiträge
    6

    Standard

    Du hattest recht. Beim Export der Tabelle pruefer aus MS Access hatte er auch
    "unsichtbare" Leerzeichen mit übernommen.
    Die Feldlänge für name ist character varying (35) und alles was über die Buchstaben des
    Namens hinausgeht wurden mit Leerzeichen aufgefüllt.
    Wie bekomme ich diese jetzt heraus?

Seite 1 von 2 12 LetzteLetzte

Ähnliche Themen

  1. Antworten: 9
    Letzter Beitrag: 28.10.2011, 12:24
  2. Antworten: 8
    Letzter Beitrag: 26.06.2009, 12:26
  3. Antworten: 9
    Letzter Beitrag: 11.12.2008, 08:50
  4. Datenbank/Tabellen Sperren für Update?
    Von CenText im Forum Allgemeines
    Antworten: 34
    Letzter Beitrag: 20.04.2008, 01:48
  5. Antworten: 3
    Letzter Beitrag: 12.12.2007, 18:27

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Links: Tobias Bauer - IT- und Funkdienstleistungen   -   Bilderrahmen-kaufen.de - Der Onlineshop für Bilderrahmen & Fotorahmen   -   Funkforum