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

Opret aliaser i bulk?

Du søger efter * på steroid. Desværre er der ingen sådan funktionalitet i SQL .

Løsning 1:

Brug kraften til blokvalg i din foretrukne teksteditor (vim, atom,...). Placer hver kolonne i en ny række. Bloker valg for at skrive AS og tabelpræfiks. Bloker derefter valg og kopier kolonnenavne.

Løsning 2:

Generer udvalgt liste ved hjælp af INFORMATION_SCHEMA.COLUMNS :

SELECT 
 string_agg(FORMAT('%s.%s AS %s_%s', "table_name",
                   column_name,"table_name", column_name), ', ')
FROM information_schema.columns
WHERE "table_name" IN ('products', 'taxes', 'categories');
 

SqlFiddleDemo

Du kan bruge E',\n' for at placere hver kolonne i en ny linje.

Output:

╔════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════╗ ║ string_agg ║ ╠════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════╣ ║ products.id AS products_id, products.name AS products_name, taxes.id AS taxes_id, taxes.name AS taxes_name, categories.id AS categories_id, categories.name AS categories_name ║ ╚════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════╝


  1. Synkronisering af PL/SQL procedure. Hvordan garanterer man udførelse af proceduren kun én ad gangen?

  2. 2 måder at få dagen fra en date i Oracle

  3. ingen pg_hba.conf-indgang for vært

  4. Symfony3 hvordan man gemmer brugerroller i databasen