如何在Postgresql中创建基于序列自动填充的列?
有没有办法创建一个半连续的列? 假设我有下表:如何在Postgresql中创建基于序列自动填充的列?,sql,postgresql,Sql,Postgresql,有没有办法创建一个半连续的列? 假设我有下表: create table item ( item_number varchar(10) PRIMARYKEY, ) 但我希望列item_编号如下:ITEM001、ITEM002、ITEM003。。。。 所以我想要ITEM这个词,然后是一种序列 在查询时或在表示层执行此操作: create table item (item_number serial primary key); select 'ITEM' || to_cha
create table item (
item_number varchar(10) PRIMARYKEY,
)
但我希望列item_编号如下:ITEM001、ITEM002、ITEM003。。。。
所以我想要ITEM这个词,然后是一种序列 在查询时或在表示层执行此操作:
create table item (item_number serial primary key);
select 'ITEM' || to_char(item, '999')
from item
在查询时或在表示层执行此操作:
create table item (item_number serial primary key);
select 'ITEM' || to_char(item, '999')
from item
使用具有默认值的序列:
create sequence item_number_seq;
create table item
(
item_number varchar(10) primary key default 'ITEM'||to_char(nextval('item_number_seq'), '00000')
);
但是为所有行存储相同的常量值几乎是无用的。只需使用常规序列,并在显示这些值时添加该常量。或者使用视图来执行此操作 使用具有默认值的序列:
create sequence item_number_seq;
create table item
(
item_number varchar(10) primary key default 'ITEM'||to_char(nextval('item_number_seq'), '00000')
);
但是为所有行存储相同的常量值几乎是无用的。只需使用常规序列,并在显示这些值时添加该常量。或者使用视图来执行此操作 创建插入触发器并使用序列。创建插入触发器并使用序列。