防止在oracle数据库中两次插入相同的值

Mou*_*hna 1 php oracle plsql

我有一个以这种形式的数字:2012-01(2012年作为当前年份),01只是我数据库中字段的最大值加1,每年该数字重置为0.

但如果有两个用户尝试同时执行相同的操作,则两者的值相同,因此我在数据库中插入两次相同的数字.

我想创建一个序列,但是这需要一个每年重置序列的作业,我宁愿在获得下一个数字之前有一种方法可以锁定并在插入完成后释放它?

谢谢.

cag*_*boy 5

CREATE UNIQUE INDEX index_name ON table_name(column_name);

要么

ALTER TABLE table_name ADD CONSTRAINT constraint_name UNIQUE(column_name);