Hello, currently, I would like to make sure :
(1) When insert a new item, there is no 2nd row with same column value.
(2) If there is, I will just directly take the existing row.
I was thinking out of 2 approach. May I know which one is the common used best practice?
// Shall I make the **entire** procedure atomic and synchronized.
// This means, every time, there is only
// one thread can execute it. But, does PostgreSQL provide such features?
//
stored_procedure
{
if (column.value is not "Mickey Mouse") {
insert new row with one of the column.value is "Mickey Mouse"
}
return row id with its column.value is "Mickey Mouse"
}
stored_procedure
{
// I make this column.value to be unique
if (column.value is not "Mickey Mouse") {
try {
insert new row with one of the column.value is "Mickey Mouse"
}
catch (Is Not Unique Exception) {
}
}
return row id with its column.value is "Mickey Mouse"
}