Выбор сценария при вставке данных в таблицу

Рейтинг: 0Ответов: 0Опубликовано: 15.05.2023

У меня есть какой-то набор данных и мне надо вставить его в несколько таблиц (PostgreSQL). Делаю я это следующим образом:

with data(name, surname, age, highth, width) as (
              values ('Иван', 'Иванов', '30', '100', '500')
              ),
    insert1 as (
            insert into af_table1 (name, surname, age)
            select name, surname, age from data
           ),
    insert2 as (
            insert into af_table2 (surname, highth)
            select surname, highth from data
    ), и так далее

Но, допустим, мне надо сделать так, чтобы в какую-то таблицу (например, table3) вставлялись разные данные в зависимости от того, заполнено какое-то поле в изначальных данных (например, width) или нет. То есть что-то типа такого:

insert3 as (
            "Если data.highth != null"
            insert into af_table3 (surname, highth)
            select surname, highth from data,
            "Если data.width != null"
            insert into af_table3 (surname, width)
            select surname, width from data,
            "Если data.width != null и data.highth != null"
            insert into af_table3 (surname, width, highth)
            select surname, width, highth from data,
    ), 

Можно ли такое как-то сделать? Что-то у меня вообще не получается... Заранее спасибо!

Ответы

Ответов пока нет.