Как эффективно скопировать данные из одной схемы в другую таблицу схем, используя postgresql - без имен столбцов - PullRequest
0 голосов
/ 24 июня 2019

У меня есть две схемы и таблица в каждой схеме.Стол называется «концепт».Одна схема является схемой "cdm", а другая - схемой "vocab".

Я хотел бы скопировать записи из таблицы "concept" схемы "vocab" в таблицу "concept" схемы "cdm", основанную на определенных условиях

У таблицы понятий есть первичный ключ, называемый concept_idи несколько других неосновных столбцов.

Пример: vocab.concept имеет 200 записей.Я хотел бы копировать только те записи, которые удовлетворяют условию, например concept_id> 150

. В настоящее время таблица концепций в схеме CDM (cdm.concept) заполнена 150 записями.Итак, я хотел бы добавить / вставить остальные 50 записей (это concept_id> 150)

Можете ли вы дать мне знать, как я могу сделать эту копию или игнорировать дубликаты и копировать только новые записи (т.е.добавлено 50 записей)

INSERT INTO cdm.concept(concept_id,Name,Age,Info) 
SELECT concept_id,Name,Age,Info 
FROM vocab.concept 
where concept_id > 150;

Вопросы

  1. Правильно ли это выше sql?

  2. Это единственный способ, потому что в моей таблице может быть более 25 столбцов, и я не хочу вводить имена столбцов каждый раз, когда хочу скопировать.

  3. Обратите внимание, что таблица уже существует в схеме cdm.Поэтому я не хочу использовать подход «Создать таблицу»

...