Derive a Table Column’s Default Value from another Column: Quick Tip

Posted October 30, 2018 by Phil Molea, Sr. Information Developer, Vertica

white cloud in vault type room representing cloud computing
Jim Knicely authored this tip.

You can specify a table column’s default value using a DEFAULT expression. To see how, check out this quick tip.

When you set a default value, Vertica evaluates the DEFAULT expression and sets the column on load operations, if the operation omits a value for the column.

In addition, that DEFAULT expression can be derived from another column in the same table!

Example: dbadmin=> CREATE TABLE A (b INT, c INT DEFAULT b * 2); CREATE TABLE dbadmin=> INSERT INTO A (b) SELECT 1; OUTPUT -------- 1 (1 row) dbadmin=> INSERT INTO A (b) SELECT 2; OUTPUT -------- 1 (1 row) dbadmin=> SELECT * FROM a; b | c ---+--- 1 | 2 2 | 4 (2 rows) Helpful Link:

https://www.vertica.com/docs/latest/HTML/index.htm#Authoring/SQLReferenceManual/Statements/column-constraint.htm

Have fun!