У меня есть stats
таблица типа
name | age | sound
------------------
m | 5 | a
a | 3 | c
c | 5 | d
f | 1 | j
d | 6 | r
c | 55 | d
, и я добавляю столбец с именем appearance
ALTER TABLE stats
ADD appearance INTEGER DEFAULT case
when age > 4 then 'red'
when name = f then 'blue'
end
и получаю таблицу типа:
name | age | sound | appearance
--------------------------------
m | 5 | a | red
a | 3 | c | <null>
c | 5 | d | red
f | 1 | j | blue
d | 6 | r | red
c | 55 | d | red
Затем я хочу добавить еще один столбец, который называется flavor
ALTER TABLE stats
ADD flavor varchar(20) case
WHEN appearance = 'red' THEN 'apple'
WHEN appearance = 'blue' THEN 'blueberry'
END
Но я продолжаю получать сообщение об ошибке:
[Vertica][VJDBC](7344) ROLLBACK: default expressions may not refer to other columns with default expressions
Как создать второй столбец из первый столбец, который я создал?