Ergebnis 1 bis 7 von 7

Thema: 1 spalte in 2 tabellen

  1. #1
    pgmaddin ist offline Neuer Benutzer
    Registriert seit
    04.06.2007
    Beiträge
    3

    Standard 1 spalte in 2 tabellen

    Hallo
    ich hoffe ich bin hier richtig. Also ich habe derezit 2 Tabellen und ich will in meiner 2. tabelle eine spalte aus der ersten tabelle...ich dachte das geht über fkeys aber wie ich gelsen habe prüfen die nur on der wert in der ersten tabelle existiert. ich möchte aber wenn ich beispielsweise eine neue spalte in der 1. tabelle anlege automatisch dein spaltenwert der 1. tabelle in meine 2. tabelle bekommen. Wisst ihr wie man das machen kann....bzw. kann man das auch auf bestehene einträge anwenden?

    Vielen Dank

  2. #2
    ads
    ads ist offline Super-Moderator
    Registriert seit
    08.02.2006
    Ort
    MD
    Beiträge
    4.056

    Standard

    Uh, bitte das nächste Mal etwas deutlicher schreiben.

    Hmm, was du machen möchtest, kann man mit einem Trigger und einer Funktion erledigen. Der Trigger wird beim INSERT gefeuert und die Funktion trägt dann den Wert in die zweite Tabelle ein.

    Warum möchtest du denn den Wert in zwei Tabellen haben, das widerspricht eigentlich den meisten Konzepten. Und was ist das für ein Wert?
    Xandrian: Kurz gesagt: Du hast ein falsches Konzept und willst nicht auf ads hören

    Jetzt NEU: PostgreSQL - Datenbankpraxis für Anwender, Administratoren und Entwickler

    PostgreSQL Service & Support

  3. #3
    akretschmer ist gerade online Super-Moderator
    Registriert seit
    29.10.2006
    Ort
    Dresden
    Beiträge
    5.472

    Standard

    Zitat Zitat von pgmaddin Beitrag anzeigen
    Hallo
    ich hoffe ich bin hier richtig. Also ich habe derezit 2 Tabellen und ich will in meiner 2. tabelle eine spalte aus der ersten tabelle...
    Klingt bis hier nach einem VIEW.

    ich dachte das geht über fkeys aber wie ich gelsen habe prüfen die nur on der wert in der ersten tabelle existiert.
    Korrekt.

    ich möchte aber wenn ich beispielsweise eine neue spalte in der 1. tabelle anlege
    Moment. Neue Spalten legt man mit ALTER TABLE ADD COLUMN an, meinst Du das oder meinst Du ein INSERT eines neuen Wertes?

    automatisch dein spaltenwert der 1. tabelle in meine 2. tabelle bekommen. Wisst ihr wie man das machen kann....
    Ich unterstelle mal, Du meinst bei einem INSERT eines neuen Wertes in die 1. Tabelle soll davon der neue Wert einer bestimmten Spalte auch in der 2. Tabelle erscheinen. Dazu kann man TRIGGER verwenden.

    bzw. kann man das auch auf bestehene einträge anwenden?
    Dazu kann man INSERT verwenden, welches seine Werte aus einem SELECT bezieht.

    Sinngemäß: insert into tab2 (column) select column from tab1;


    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

  4. #4
    pgmaddin ist offline Neuer Benutzer
    Registriert seit
    04.06.2007
    Beiträge
    3

    Standard

    ok ich wills mal 'aufmalen' :-D

    Tabelle1:
    ID | Name | .....
    ----------------
    01 | Test |
    02 | Test2|

    Tabelle2:
    ID | Ort |......
    ----------------

    Die Tabelle2.ID soll Tabelle1.ID sein. Sprich. Wenn ich in Tabelle1 eine neue ID hinzufüge/lösche soll dies auch in Tabelle 2 geschehen. da ich in Tabelle1 derzeit einige Datensätze haben SOLLTEN (kein muss) diese rückwirkend auf Tabelle2 eingefügt werden.

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

    Standard

    Zitat Zitat von pgmaddin Beitrag anzeigen
    ok ich wills mal 'aufmalen' :-D

    Tabelle1:
    ID | Name | .....
    ----------------
    01 | Test |
    02 | Test2|

    Tabelle2:
    ID | Ort |......
    ----------------

    Die Tabelle2.ID soll Tabelle1.ID sein. Sprich. Wenn ich in Tabelle1 eine neue ID hinzufüge/lösche soll dies auch in Tabelle 2 geschehen.
    Sowohl ads als auch ich nannten Dir die Lösung. Hier noch einmal: TRIGGER

    da ich in Tabelle1 derzeit einige Datensätze haben SOLLTEN (kein muss) diese rückwirkend auf Tabelle2 eingefügt werden.
    Auch dafür nannte ich Dir die Lösung.


    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
    pgmaddin ist offline Neuer Benutzer
    Registriert seit
    04.06.2007
    Beiträge
    3

    Standard

    ok vielen dank...war nur um sicherzustellen, dass wir nich aneinander vorbeireden. Gibt es ein gutes Tutorial (neben der Hilfe) in wlechem das erstellen von Triggern mit pgAdmin beschrieben wird?

  7. #7
    akretschmer ist gerade online Super-Moderator
    Registriert seit
    29.10.2006
    Ort
    Dresden
    Beiträge
    5.472

    Standard

    Zitat Zitat von pgmaddin Beitrag anzeigen
    ok vielen dank...war nur um sicherzustellen, dass wir nich aneinander vorbeireden. Gibt es ein gutes Tutorial (neben der Hilfe) in wlechem das erstellen von Triggern mit pgAdmin beschrieben wird?
    Inwieweit PGAdmin das verkompliziert, weiß ich nicht.

    Code:
    test=# create table tab1 (id int, val text);
    CREATE TABLE
    test=*# create table tab2 (id int, val text);
    CREATE TABLE
    test=*# create function f1() returns trigger as $$begin insert into tab2 (id) values (NEW.id); return NEW; end; $$language plpgsql;
    CREATE FUNCTION
    test=*# create trigger tg1 before insert on tab1 for each row execute procedure f1();
    CREATE TRIGGER
    test=*# insert into tab1 values (1, 'test');
    INSERT 0 1
    test=*# select * from tab2;
     id | val
    ----+-----
      1 |
    (1 row)
    
    test=*#

    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

Ähnliche Themen

  1. Reihenfolge in Spalte speichern
    Von alex1982 im Forum SQL
    Antworten: 6
    Letzter Beitrag: 25.08.2010, 15:33
  2. Antworten: 6
    Letzter Beitrag: 23.07.2010, 15:20
  3. Zeilenumrüche in Spalte
    Von minor_73 im Forum SQL
    Antworten: 3
    Letzter Beitrag: 28.01.2010, 13:40
  4. Antworten: 7
    Letzter Beitrag: 23.01.2008, 21:43
  5. spalte umbenennen
    Von juergen65 im Forum Trigger und Funktionen
    Antworten: 11
    Letzter Beitrag: 10.10.2007, 16:20

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