1. Willkommen im Forum für alle Datenbanken! Registriere Dich kostenlos und diskutiere über DBs wie Mysql, MariaDB, Oracle, Sql-Server, Postgres, Access uvm
    Information ausblenden

Probleme beim Erstellen von ein paar Abfragen

Dieses Thema im Forum "Oracle" wurde erstellt von werdas34, 13 November 2018.

  1. werdas34

    werdas34 Benutzer

    Hallo,

    ich bin neu hier, deswegen kann es sein das der Thread verschoben werden musste. Arbeite mit SQL Developer.

    Ich habe von der Uni paar Aufgaben bekommen, die ich lösen soll und bei ein paar komm ich nicht wirklich auf die Lösung:

    1)
    "Völlig trockene Biergärten": Die Namen der Biergärten, die keine alkoholischen Getränke ausschenken.
    Code:
    SELECT DISTINCT schenkt_aus.biergarten_name
    FROM schenkt_aus, getraenk
    WHERE schenkt_aus.getraenke_name = getraenk.gname
    AND schenkt_aus.getraenke_name IN
        (SELECT getraenk.gname
        FROM getraenk
        WHERE alkogehalt = 0);
    Im Subselect werden mir alle Getränke geliefert, die keinen Alkoholgehalt besitzen. Wie wende ich das dann auf die Biergärten an?


    2)
    "Absolut Neuenahr-feindliche Biergärten": Die Namen der Biergärten, die keine Getränke von Firmen aus Neuenahr ausschenken
    Code:
    select distinct schenkt_aus.biergarten_name
    from schenkt_aus
    join getraenk on schenkt_aus.getraenke_name = getraenk.gname
    join firma on getraenk.hersteller = firma.fname
    where firma.fname < all
        (select fname
        from firma
        where standort = 'Neuenahr');
    Ich habe wie in 1) Probleme mit in, any, all, exists usw Probleme. Gibts da einen Trick oder Tipp bzw ne Schritt für Schritt Anleitungen um solche Aufgaben zu lösen?

    3)
    Seniorenförderung: Alle Biergärten, die von älteren Gästen besucht werden (Geburtsdatum vor 1.1.1945), erhalten so viele Plätze wie der größte in der Datenbank enthaltene Biergarten.
    Code:
    UPDATE biergarten
    SET anzahlplaetze =
        (SELECT MAX(anzahlplaetze)
        FROM biergarten)
     JOIN besucht ON besucht.biergarten_name = biergarten.bname AND besucht.biergarten_ort = biergarten.ort
     JOIN gast ON gast.vname = besucht.besucher_vname AND gast.nname = besucht.besucher_nname
     WHERE gast.gebdatum <= TO_DATE('1945-01-01', 'yyyy-mm-dd');
    Ich weiß, syntaktisch ist da der Wurm drin. Aber ich werde im Internet nicht ganz schlau wie man ein Update über mehrere Tabellen macht. Überall stehts ein bisschen anders drin und bei mir funktioniert keine.


    4)
    Firmensterben: Alle Firmen ohne Lieblingsgetränk machen zu.
    Da ist mein Problem, das ich nicht weiß, ob man mehrere DELETE in einem Aufruf schreiben kann oder alles einzeln machen muss.

    Denn in diesem Fall müsste man erst in schenkt_aus, dann in getraenke und dann zuletzt firma die entsprechenden Tupel löschen.
    Mach ich zuerst;
    Code:
    delete from schenkt_aus 
    where ...
    
    delete from getraenke
    where...
    
    delete from firma
    where ...
    
    Oder kann man das irgendwie schachteln?

    Hier mal die Tabellendefinitionen:
    Code:
    create table firma (
       fname char(20),
       standort char(20),
       primary key (fname)
    );
    
    create table getraenk (
       gname char(20),
       alkogehalt int,
       preisproliter decimal(4,2),
       hersteller char(20) not null,
       produktionsaufname date,
       primary key (gname),
       foreign key (hersteller) references firma
    );
    
    create table gast (
       nname char(20),
       vname char(20),
       gebdatum date,
       lieblingsgetraenk char(20),
       primary key (nname, vname),
       foreign key (lieblingsgetraenk) references getraenk
    );
    
    create table biergarten (
       bname char(20),
       ort char(20),
       eroeffdatum date,
       anzahlplaetze int,
       umsatzprojahr decimal (8,2),
       primary key (bname, ort)
    );
    
    
    create table besucht (
       besucher_nname char(20),
       besucher_vname char(20),
       biergarten_name char(20),
       biergarten_ort char(20),
       primary key (besucher_nname, besucher_vname, biergarten_name, biergarten_ort),
       foreign key (besucher_nname, besucher_vname) references gast,
       foreign key (biergarten_name, biergarten_ort) references biergarten
    );
    
    create table schenkt_aus (
       biergarten_name char(20),
       biergarten_ort char(20),
       getraenke_name char(20),
       ausschankprotag int,
       primary key (biergarten_name, biergarten_ort, getraenke_name),
       foreign key (biergarten_name, biergarten_ort) references biergarten,
       foreign key (getraenke_name) references getraenk
    );
    
    Ich bedanke mich schon im Vorraus für hilfreiche Antworten.
    mfg werdas34
     
  2. akretschmer

    akretschmer Datenbank-Guru

    deine SQL-Befehle kann ich mit PostgreSQL direkt ausführen, kannst Du noch jeweils ein paar Datensätze posten?
     
  3. castorp

    castorp Fleissiger Benutzer

    Oracle unterstützt kein JOIN im UPDATE.

    Du musst das mit einem Sub-Query machen:
    Code:
    UPDATE biergarten
      SET anzahlplaetze = (SELECT MAX(anzahlplaetze) FROM biergarten)
    where (bname,ort) in (select bt.biergarten_name, bt.biergarten_ort
                          FROM besucht bt
                           JOIN gast g ON g.vname = bt.besucher_vname AND g.nname = bt.besucher_nname
                          WHERE g.gebdatum <= TO_DATE('1945-01-01', 'yyyy-mm-dd'));
    char() ist übrigens eine ganz, ganz schlechte Wahl für den Datentyp einer Spalte. Den solltest Du ganz schnell wieder vergessen. Wenn Du Strings ("Character") speichern willst, nimm VARCHAR (bzw. VARCHAR2).

    Ich persönlich verwende übrigens lieber DATE '1945-01-01' (anstatt TO_DATE('1945-01-01', 'yyyy-mm-dd')) um ein konstantes Datum anzugeben. Da muss man weniger tippen und hat den Vorteil, dass es SQL Standard ist und damit auch portabel zu anderen Datenbanksystemen.
     
  4. werdas34

    werdas34 Benutzer

    Vielen Dank.
    Die Datensätze folgen im nächsten Post.
    In der Uni wird Postgres empfohlen, nur habe ich früher mal bisschen mit SQL Developer gearbeitet und dachte auch das SQL gleich SQL ist. Naja so schnell täuscht man sich.
    Wäre es sinnvoller auf Postgres umzusteigen, vorallem da das nächste Thema embedded SQL ist? Gibts dann dazu ein gutes Video/Anleitung wie man damit startet. Denn wir haben nur ne Liste mit Commands bekommen wie man Sachen ausführt? Meine Kommilitonen haben schon lange gebraucht um das zum laufen zu bekommen.
    Ich würde sofern es geht, die paar Aufgaben dann noch mit SQL Developer lösen, da ich nicht weiß ob dann die anderen Querys noch funktionieren.

    Das habe ich gemerkt. Und ich glaube Acces unterstützt dann Join. Dachte SQL ist wie Java eine Sprache und SQL Developer/Postgres/Acces sind die Entwicklungsumgebungen dazu.

    Gut zu wissen mit dem Subquery. Hätte wahrscheinlich länger gedauert darauf zu kommen.

    char() ist wahrscheinlich für Postgres optimiert. :D

    Das mit TO_DATE habe ich hinzugefügt. Das lässt sich dann problemlos ändern.

    Vielen Dank.
     
  5. werdas34

    werdas34 Benutzer

    Datensatz:
    Code:
    insert into firma values ('Coca-Cola', 'Atlanta');
    insert into firma values ('Gerolsteiner', 'Neuenahr');
    insert into firma values ('Adelholzner', 'Griesbach');
    insert into firma values ('Wittmann', 'Geisenhausen');
    insert into firma values ('Pepsi', 'New York');
    
    insert into getraenk values ('Fanta', 0, 3.20, 'Coca-Cola', TO_DATE('1894-01-01','yyyy-mm-dd'));
    insert into getraenk values ('Mineralwasser pur', 0, 1.60, 'Gerolsteiner', TO_DATE('1952-12-21','yyyy-mm-dd'));
    insert into getraenk values ('Zitrolimo', 0, 1.95, 'Adelholzner', TO_DATE('1955-02-24','yyyy-mm-dd'));
    insert into getraenk values ('Pils', 5, 2.30, 'Wittmann', TO_DATE('1923-11-11','yyyy-mm-dd'));
    insert into getraenk values ('Radler', 1, 2.10, 'Wittmann', TO_DATE('1974-01-01','yyyy-mm-dd'));
    
    insert into getraenk values ('Sprite', 0, 3.10, 'Coca-Cola', TO_DATE('1961-01-01','yyyy-mm-dd'));
    insert into getraenk values ('Mineralwasser orange', 0, 1.65, 'Gerolsteiner', TO_DATE('1977-03-04','yyyy-mm-dd'));
    insert into getraenk values ('Lauwasser', 0, 0.99, 'Adelholzner', TO_DATE('1999-10-25','yyyy-mm-dd'));
    insert into getraenk values ('Koelsch', 6, 2.55, 'Wittmann', TO_DATE('1967-07-01','yyyy-mm-dd'));
    insert into getraenk values ('Pepsi', 0, 3.10, 'Pepsi', TO_DATE('1922-02-03','yyyy-mm-dd'));
    
    insert into getraenk values ('Sinalco', 0, 2.10, 'Coca-Cola', TO_DATE('1955-01-01','yyyy-mm-dd'));
    insert into getraenk values ('Mineralwasser zitro', 0, 1.75, 'Gerolsteiner', TO_DATE('1978-04-15','yyyy-mm-dd'));
    insert into getraenk values ('Starkwasser', 0, 1.09, 'Adelholzner', TO_DATE('1999-10-25','yyyy-mm-dd'));
    insert into getraenk values ('Malz', 2, 2.65, 'Wittmann', TO_DATE('1978-08-01','yyyy-mm-dd'));
    insert into getraenk values ('Cola', 0, 3.30, 'Coca-Cola', TO_DATE('1899-04-23','yyyy-mm-dd'));
    
    insert into gast values ('Leiner', 'Marc', TO_DATE('1986-04-13','yyyy-mm-dd'), 'Lauwasser');
    insert into gast values ('Galois', 'Ephariste', TO_DATE('1725-12-12','yyyy-mm-dd'), 'Pils');
    insert into gast values ('Barker', 'Jenny', TO_DATE('2000-12-01','yyyy-mm-dd'), 'Zitrolimo');
    insert into gast values ('Zettler', 'Alois', TO_DATE('1965-09-08','yyyy-mm-dd'), 'Fanta');
    
    insert into gast values ('Malzahn', 'Ulrike', TO_DATE('1985-11-13','yyyy-mm-dd'), 'Koelsch');
    insert into gast values ('Geyer', 'Eduard', TO_DATE('1965-10-15','yyyy-mm-dd'), 'Malz');
    insert into gast values ('Bonnie', 'Prince', TO_DATE('1999-07-11','yyyy-mm-dd'), 'Sprite');
    insert into gast values ('Ypsilanti', 'Ena', TO_DATE('1944-09-17','yyyy-mm-dd'), 'Lauwasser');
    
    insert into gast values ('Meier', 'Moritz', TO_DATE('1954-12-22','yyyy-mm-dd'), 'Lauwasser');
    insert into gast values ('Huber', 'Eva', TO_DATE('1999-02-07','yyyy-mm-dd'), 'Pils');
    insert into gast values ('Becker', 'Jimmy', TO_DATE('1987-12-04','yyyy-mm-dd'), 'Zitrolimo');
    insert into gast values ('Zander', 'Andi', TO_DATE('1934-05-23','yyyy-mm-dd'), 'Fanta');
    
    insert into gast values ('Petronius', 'Udo', TO_DATE('1966-02-24','yyyy-mm-dd'), 'Koelsch');
    insert into gast values ('Trotzki', 'Lewin', TO_DATE('1954-06-30','yyyy-mm-dd'), 'Malz');
    insert into gast values ('Yehudin', 'Peter', TO_DATE('1978-06-22','yyyy-mm-dd'), 'Sprite');
    insert into gast values ('Lammers', 'Elena', TO_DATE('1953-08-03','yyyy-mm-dd'), 'Lauwasser');
    
    insert into gast values ('Kobian', 'Lew', TO_DATE('1977-08-31','yyyy-mm-dd'), 'Cola');
    insert into gast values ('Lennox', 'Arthur', TO_DATE('1988-05-11','yyyy-mm-dd'), 'Pepsi');
    
    insert into biergarten values ('Das Fass', 'Geisenhausen', TO_DATE('2004-01-01','yyyy-mm-dd'), 150, 5000.00);
    insert into biergarten values ('Die Taufe', 'Adlkofen', TO_DATE('2003-02-05','yyyy-mm-dd'), 75, 53000.00);
    insert into biergarten values ('Zur letzten Instanz', 'Vilsbiburg', TO_DATE('2001-05-01','yyyy-mm-dd'), 230, 25000.00);
    insert into biergarten values ('Mayflower', 'Landshut', TO_DATE('2000-07-15','yyyy-mm-dd'), 498, 34000.00);
    insert into biergarten values ('Tollemogei', 'Geisenhausen', TO_DATE('2002-11-30','yyyy-mm-dd'), 124, 100000.00);
    insert into biergarten values ('Entenrennen', 'Velden', TO_DATE('1999-03-04','yyyy-mm-dd'), 111, 3500.00);
    insert into biergarten values ('Fimstuben', 'Geisenhausen', TO_DATE('1991-01-15','yyyy-mm-dd'), 200, 76000.00);
    insert into biergarten values ('Helmbrunnen', 'Landshut', TO_DATE('2014-11-01','yyyy-mm-dd'), 560, 99000.00);
    
    insert into besucht values ('Huber', 'Eva', 'Das Fass', 'Geisenhausen');
    insert into besucht values ('Huber', 'Eva', 'Mayflower', 'Landshut');
    insert into besucht values ('Huber', 'Eva', 'Helmbrunnen', 'Landshut');
    
    insert into besucht values ('Meier', 'Moritz', 'Das Fass', 'Geisenhausen');
    insert into besucht values ('Meier', 'Moritz', 'Mayflower', 'Landshut');
    insert into besucht values ('Meier', 'Moritz', 'Fimstuben', 'Geisenhausen');
    
    insert into besucht values ('Leiner', 'Marc', 'Die Taufe', 'Adlkofen');
    insert into besucht values ('Leiner', 'Marc', 'Zur letzten Instanz', 'Vilsbiburg');
    insert into besucht values ('Leiner', 'Marc', 'Tollemogei', 'Geisenhausen');
    
    insert into besucht values ('Becker', 'Jimmy', 'Entenrennen', 'Velden');
    insert into besucht values ('Becker', 'Jimmy', 'Das Fass', 'Geisenhausen');
    insert into besucht values ('Becker', 'Jimmy', 'Mayflower', 'Landshut');
    insert into besucht values ('Becker', 'Jimmy', 'Die Taufe', 'Adlkofen');
    
    insert into besucht values ('Zettler', 'Alois', 'Mayflower', 'Landshut');
    insert into besucht values ('Zettler', 'Alois', 'Helmbrunnen', 'Landshut');
    
    insert into besucht values ('Malzahn', 'Ulrike', 'Zur letzten Instanz', 'Vilsbiburg');
    insert into besucht values ('Malzahn', 'Ulrike', 'Mayflower', 'Landshut');
    insert into besucht values ('Malzahn', 'Ulrike', 'Tollemogei', 'Geisenhausen');
    
    insert into besucht values ('Geyer', 'Eduard', 'Die Taufe', 'Adlkofen');
    insert into besucht values ('Geyer', 'Eduard', 'Entenrennen', 'Velden');
    
    insert into besucht values ('Trotzki', 'Lewin', 'Mayflower', 'Landshut');
    insert into besucht values ('Trotzki', 'Lewin', 'Das Fass', 'Geisenhausen');
    insert into besucht values ('Trotzki', 'Lewin', 'Die Taufe', 'Adlkofen');
    insert into besucht values ('Trotzki', 'Lewin', 'Tollemogei', 'Geisenhausen');
    insert into besucht values ('Trotzki', 'Lewin', 'Zur letzten Instanz', 'Vilsbiburg');
    insert into besucht values ('Trotzki', 'Lewin', 'Helmbrunnen', 'Landshut');
    
    insert into besucht values ('Bonnie', 'Prince', 'Das Fass', 'Geisenhausen');
    insert into besucht values ('Bonnie', 'Prince', 'Zur letzten Instanz', 'Vilsbiburg');
    insert into besucht values ('Bonnie', 'Prince', 'Entenrennen', 'Velden');
    insert into besucht values ('Bonnie', 'Prince', 'Fimstuben', 'Geisenhausen');
    
    insert into besucht values ('Zander', 'Andi', 'Die Taufe', 'Adlkofen');
    insert into besucht values ('Zander', 'Andi', 'Das Fass', 'Geisenhausen');
    insert into besucht values ('Zander', 'Andi', 'Entenrennen', 'Velden');
    insert into besucht values ('Zander', 'Andi', 'Fimstuben', 'Geisenhausen');
    
    insert into schenkt_aus values ('Das Fass', 'Geisenhausen', 'Lauwasser', 3000);
    insert into schenkt_aus values ('Das Fass', 'Geisenhausen', 'Fanta', 2500);
    insert into schenkt_aus values ('Die Taufe', 'Adlkofen', 'Koelsch', 330);
    insert into schenkt_aus values ('Die Taufe', 'Adlkofen', 'Sprite', 120);
    insert into schenkt_aus values ('Die Taufe', 'Adlkofen', 'Fanta', 460);
    insert into schenkt_aus values ('Die Taufe', 'Adlkofen', 'Zitrolimo', 990);
    insert into schenkt_aus values ('Zur letzten Instanz', 'Vilsbiburg', 'Fanta', 1020);
    insert into schenkt_aus values ('Zur letzten Instanz', 'Vilsbiburg', 'Starkwasser', 390);
    insert into schenkt_aus values ('Zur letzten Instanz', 'Vilsbiburg', 'Pils', 850);
    insert into schenkt_aus values ('Zur letzten Instanz', 'Vilsbiburg', 'Malz', 740);
    insert into schenkt_aus values ('Zur letzten Instanz', 'Vilsbiburg', 'Mineralwasser pur',20);
    insert into schenkt_aus values ('Zur letzten Instanz', 'Vilsbiburg', 'Koelsch', 100);
    insert into schenkt_aus values ('Zur letzten Instanz', 'Vilsbiburg', 'Sprite', 350);
    insert into schenkt_aus values ('Mayflower', 'Landshut', 'Fanta', 2000);
    insert into schenkt_aus values ('Mayflower', 'Landshut', 'Pils', 340);
    insert into schenkt_aus values ('Mayflower', 'Landshut', 'Malz', 770);
    insert into schenkt_aus values ('Mayflower', 'Landshut', 'Lauwasser', 660);
    insert into schenkt_aus values ('Mayflower', 'Landshut', 'Sinalco', 390);
    insert into schenkt_aus values ('Tollemogei', 'Geisenhausen', 'Koelsch', 3000);
    insert into schenkt_aus values ('Tollemogei', 'Geisenhausen', 'Pils', 5000);
    insert into schenkt_aus values ('Entenrennen', 'Velden', 'Fanta', 1020);
    insert into schenkt_aus values ('Entenrennen', 'Velden', 'Mineralwasser pur', 390);
    insert into schenkt_aus values ('Entenrennen', 'Velden', 'Lauwasser', 850);
    insert into schenkt_aus values ('Entenrennen', 'Velden', 'Starkwasser', 740);
    insert into schenkt_aus values ('Entenrennen', 'Velden', 'Zitrolimo',20);
    insert into schenkt_aus values ('Entenrennen', 'Velden', 'Sprite', 100);
    insert into schenkt_aus values ('Entenrennen', 'Velden', 'Sinalco', 350);
    insert into schenkt_aus values ('Helmbrunnen', 'Landshut', 'Pils', 200);
    insert into schenkt_aus values ('Helmbrunnen', 'Landshut', 'Fanta', 760);
    insert into schenkt_aus values ('Helmbrunnen', 'Landshut', 'Radler', 125);
    insert into schenkt_aus values ('Helmbrunnen', 'Landshut', 'Zitrolimo', 340);
    insert into schenkt_aus values ('Fimstuben', 'Geisenhausen', 'Koelsch', 230);
    insert into schenkt_aus values ('Fimstuben', 'Geisenhausen', 'Lauwasser', 100);
    insert into schenkt_aus values ('Fimstuben', 'Geisenhausen', 'Sinalco', 230);
    insert into schenkt_aus values ('Fimstuben', 'Geisenhausen', 'Cola', 230);
    
     
  6. castorp

    castorp Fleissiger Benutzer

    Definitiv. Wenn ihr an der Uni Postgres verwendet, dann solltest Du das auch. Trotz des "SQL Standards" unterscheiden sich die einzelnen Datenbanksystem in den Details dann doch - teilweise sehr stark.

    Nein, CHAR is auch in Postgres keine gute Idee. Vergiss einfach dass es den Datentyp gibt.
     
  7. akretschmer

    akretschmer Datenbank-Guru

    also, um mal eine Lösung mit PostgreSQL zu Frage 1 zu zeigen:

    Code:
    test=*# select
      biergarten_name || ' in ' || biergarten_ort
    from
      schenkt_aus
    group by 1
    having
      array_agg(trim(getraenke_name)) && (
        select array_agg(trim(gname)) from getraenk where alkogehalt > 0
      );
                 ?column?             
    -----------------------------------
     Fimstuben in Geisenhausen
     Tollemogei in Geisenhausen
     Mayflower in Landshut
     Helmbrunnen in Landshut
     Die Taufe in Adlkofen
     Zur letzten Instanz in Vilsbiburg
    (6 rows)
    
    test=*#
    
    Was mache ich da? Ich bilde ARRAY's, welche Getränke in welchem Biergaten es gibt und eines, welche alkoholischen Getränke es gibt, und schaue, wo sich diese Array's überlappen.
     
  8. akretschmer

    akretschmer Datenbank-Guru

    und für die zweite Frage:

    Code:
    test=*# with Neuenahr as (
      select
        array_agg(trim(gname))
      from getraenk
      where hersteller in (select fname from firma where standort = 'Neuenahr'))
    
    select
      biergarten_name || ' in ' || biergarten_ort nix_aus_neuenahr
    from
      schenkt_aus
    group by 1
    having not
      array_agg(trim(getraenke_name)) && (select * from Neuenahr);
          nix_aus_neuenahr     
    ----------------------------
     Fimstuben in Geisenhausen
     Das Fass in Geisenhausen
     Tollemogei in Geisenhausen
     Mayflower in Landshut
     Helmbrunnen in Landshut
     Die Taufe in Adlkofen
    (6 rows)
    
    test=*#
    
    Arrays wie schon zuvor, und noch CTE-Anwendung.
     
  9. werdas34

    werdas34 Benutzer

    Ok. ich beschäftige mich am Wochenende mehr mit Postgres.
    Ich muss dazu erwähnen, dass wir nur die SQL Standards durchgenommen haben und nichts speziell was nur Postgres bietet.

    Da kommen wir auch zu @akretschmer.
    Vielen Dank für deine Lösungsvorschläge, jedoch schießen sie über unseren Wissenstands weit hinaus.

    Wir hatten bisjetzt die typischen Dinge, die man gebrauchen kann für eine Abfrage(having, group by, join, ...). Dazu dann die elementaren Aggregationsfunktionen(avg, sum, count, ...) und die Quantoren(in, exists, all, any, ...).
    Klar es führen mehrere Wege nach Rom, aber diese Sachen sind halt prüfungsrelevant.

    Nun noch ne Frage zu Postgres. Ich habe ihn auf Windows installiert. Und weiß wie man mit pgAdmin 4, Datenbanken, Tabellen und deren Spalten erstellt.
    Ich möchte aber nicht alles mit der Hand neu eintippen. Habe eine .sql Datei und dort stehen die Tabellendefinitionen und die inserts drinnen. Kann man die Datei importieren?

    Und bei mir in der Postgres-Nutzung-Empfehlung steht drinnen, dass man die Querys über das Shell ausführen soll.
    Was ist sinnvoller?
     
  10. akretschmer

    akretschmer Datenbank-Guru

    Sicher. Ich nutze es nur nicht. Aber: Query-tool, Datei, Öffne. Datei auswählen. Ausführen.

    Ich nutze nur psql, also das Command Line Tool.
     
Die Seite wird geladen...

Diese Seite empfehlen

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden