Postgres pgAdmin переименовывает сразу несколько столбцов - PullRequest
1 голос
/ 27 марта 2019

Есть ли лучший способ переименовать столбец из footballer_id в id.(Удаление футболиста_ из всех столбцов таблицы)

ALTER TABLE public."Footballer" RENAME COLUMN "footballer_id" TO "id"
ALTER TABLE public."Footballer" RENAME COLUMN "footballer_team" TO "team"

Ответы [ 2 ]

0 голосов
/ 27 марта 2019

Вы можете написать запрос, чтобы получить имя столбца, а затем отформатировать и выполнить команду, используя результаты.Используется параметр psql \gexec.

SELECT format('ALTER TABLE footballer RENAME COLUMN %I to %I', column_name, substring(column_name,length('footballer_')+1))
FROM information_schema.columns
WHERE table_schema = 'public'
  AND table_name   = 'footballer'
  AND column_name like 'footballer_%';\gexec  
0 голосов
/ 27 марта 2019

Это немного лучше

ALTER TABLE public."Footballer"
   RENAME COLUMN "footballer_id" to "id",
   RENAME COLUMN "footballer_team" to "team,
   ...;
...