Создать таблицу и поле в ней если неизвестно их существование

Коллеги, представим себе, что мне надо создать таблицу table с полем field. Но в момент создания мы не знаем, существует ли такая таблица и, более того, если таблица и существует, то мы не знаем, существует ли в ней поле. То есть, возможны три варианта:

  1. Таблицы нет
  2. Таблица есть, но поля нет
  3. Есть и таблица и поле

Вариант, который я использую, в общем меня устраивает и состоит из двух запросов. Первым делом создаем таблицу, если ее нет:

CREATE TABLE IF NOT EXISTS table (field INTEGER);

Теперь у нас гарантировано существует таблица, но не факт, что с полем, поэтому создаем поле, если его нет:

ALTER TABLE table ADD COLUMN IF NOT EXISTS field INTEGER;

Повторю, вариант вполне устраивает, но хочется совершенства. Может быть есть варианты, чтобы в один запрос?


Ответы (0 шт):