2016-06-15 9 views
0

既存の列のジオメトリがあり、その既存の列に関数を適用して新しい列を作成したいと考えています。構文はどのように機能しますか?私はそれが(既存の列)は、クエリのこの部分から参照することはできませんそれを言ってエラーが発生しました。おかげpsql既存の列に関数を適用して列を作成する方法

INSERT INTO folder(col1) VALUES (function(col1)); 

答えて

0

はここのように、新しい列がADD COLUMNを使用し作成する:

t=# alter table s95 add column new_col text; 
ALTER TABLE 

は、既存の列に関数を適用することによって値を設定するには、使用更新:

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句は、その列定義に含まれる列定義の 列にデフォルトのデータ値を割り当てます。値は変数なしの 式です( 現在のテーブル内の他の列に対するサブクエリと相互参照は許可されていません)。

関連する問題