我有一个现有的几何列,我想创建一个新列,并将一个函数应用于该现有列。语法如何工作?我收到一个错误,说它(现有列)无法从查询的这一部分引用。感谢
INSERT INTO folder(col1) VALUES (function(col1));
答案 0 :(得分:0)
创建新列使用ADD COLUMN,如下所示:
t=# alter table s95 add column new_col text;
ALTER TABLE
通过将函数应用于现有列来设置值,请使用update:
t=# update s95 set new_col = concat('0'::text,i::text);
UPDATE 2
t=# select * from s95;
i | t | new_col
---+------+---------
3 | yoga | 03
4 | yoga | 04
如果您的想法是在其他列it won't work上添加默认值的列:
DEFAULT子句为其列分配默认数据值 列定义它出现在。该值是任何无变量的 表达式(子查询和对其他列的交叉引用) 不允许使用当前表。)