2017-04-25 32 views
0

有什麼辦法可以創建一個半序列的列? 這是想象,我有如下表:如何創建一個基於Postgresql中的序列自動填充的列?

create table item (
    item_number varchar(10) PRIMARYKEY, 

) 

,但我想列到ITEM_NUMBER是這樣的:ITEM001,ITEM002,ITEM003 .... 所以我想這個詞項,然後一類的之後的序列。

+1

創建一個插入觸發器,並使用一個序列。 –

回答

2

使用序列具有缺省值:

create sequence item_number_seq; 

create table item 
(
    item_number varchar(10) primary key default 'ITEM'||to_char(nextval('item_number_seq'), '00000') 
); 

但存儲爲所有相同恆定值幾乎沒用。只需使用常規序列並在顯示這些值時添加該常數。或者使用一個視圖來做到這一點。

1

做它在查詢時或在表示層:

create table item (item_number serial primary key); 

select 'ITEM' || to_char(item, '999') 
from item 
相關問題