带变量的序列

时间:2010-02-19 06:19:49

标签: oracle

在SQL中我们将有一个序列。但它应该附加到像这样的变量

M1,M2,M3,M4....

任何方式这样做?

2 个答案:

答案 0 :(得分:9)

考虑将前缀存储在表格的单独列中,例如:

CREATE TABLE mytable (
   idprefix VARCHAR2(1) NOT NULL,
   id       NUMBER NOT NULL,
   CONSTRAINT mypk PRIMARY KEY (idprefix, id)
);

在应用程序或视图中,您可以将值连接在一起。或者,在11g中,您可以创建一个连接它们的虚拟列。

我给它99%的可能性,有人会说“我们想要搜索ID 12345而不考虑前缀”这个设计意味着你可以有一个很好的索引查找而不是“LIKE'%12345'”。

答案 1 :(得分:4)

select 'M' || my_sequence.nextval from dual;