【发布时间】:2014-05-25 14:53:52
【问题描述】:
在我与 Oracle 11g 的作业中,我被要求制作一个具有以下结构的列的表:
[NL|TE|][0-9]^10
其中在 INSERT 行时输入 NL 或 TE,[0-9]^10 是自动递增的 10 位数字。 示例:
NL1234567890 or TE0253627576
INSERT 时,用户只应这样写:
INSERT INTO TableA VALUES ('NL');
DBMS 负责其余的工作。那么我该怎么做呢?在这方面我还是个新手。
【问题讨论】:
-
查看表触发器
-
你总是可以使用序列。
-
@paqogomez 和 Bracuz 刚刚看了 TRIGGER 和序列,看起来像我需要的,但是我怎样才能将两者结合起来呢?由于数据既有字符又有数字。有人可以给我看一个示例 SQL 代码吗?
-
所有这些都是很好的答案,但@Gary_W 结合了触发器和序列来完全按照您的需要回答问题。
标签: sql oracle auto-increment