sql >> Database teknologi >  >> RDS >> PostgreSQL

Hvordan ville jeg formulere en indsættelsesforespørgsel i en anden database ved hjælp af postgres_fdw?

Du kan ikke få direkte adgang til tabeller i en anden database, som du kan gøre i MySQL (en MySQL database svarer til et PostgreSQL skema ).

Så måske kan du opnå, hvad du ønsker, enten ved at bruge forskellige skemaer i en enkelt database.

Hvis du virkelig har brug for at opdatere en tabel i en anden database, skal du bruge postgres_fdw udenlandske dataindpakning for at få adgang til den fremmede tabel.

Du bliver nødt til at definere en udenlandsk tabel – lad os kalde den foreign_employee – i databasen db1 der peger på en tabel i db2 .

Så kunne du gøre det sådan:

INSERT INTO foreign_employee
SELECT e.*
FROM employee e
     JOIN archived a USING id
LIMIT 2;

Bemærk, at LIMIT er lidt mærkeligt her, da der ikke er nogen implicit rækkefølge i et forespørgselsresultat, medmindre du tvinger en med ORDER BY .




  1. Oracle-database TNS Værdiens længde for nøgle 'datakilde' overskrider grænsen på '128'

  2. 'Adgang nægtet for brugeren 'root'@'localhost' (ved hjælp af adgangskode:NEJ)'

  3. Kan PostgreSQL indeksere array-kolonner?

  4. ORA-907 mangler højre parentes ved brug af AS nøgleord