Я пытаюсь написать сценарий SQL для повторного использования с предложением ADD COLUMN
для сервера Informix. Обычно я могу запустить его только один раз, потому что тогда столбец уже существует и его нельзя добавить снова. И я не могу просто добавить DROP column
как предыдущее утверждение, потому что оно не выполнится во время первого выполнения. Мне нужно что-то вроде DROP COLUMN ЕСЛИ СУЩЕСТВУЕТ, но, в отличие от удаления других SQL сущностей, оно не доступно для столбцов.
Я могу спросить системные таблицы, присутствует ли столбец в этой БД через:
SELECT c.colname
FROM "informix".systables AS t
JOIN "informix".syscolumns AS c ON t.tabid = c.tabid
WHERE c.colname = 'col_name' and t.tabname = 'tab_name'
плюс я нашел несколько предлагаемых решений для обходных путей, но я думаю, что они предназначены для разных SQL серверов, так как я не могу понять, как собрать его в допустимый SQL сценарий, приемлемый для моего Informix.
Есть какие-нибудь подсказки? Или это миссия невыполнима?