I have to LOCK a table before selecting, in Oracle 8i, to get the max val of a column. I mean, Nobody can get the same value at the same time (is some people is trying to use the table). (I can't use a sequence)
the sentence is like this:
SELECT NVL(MAX(TO_NUMBER(VAL_COLUMN))+1,1) INTO luMaxConfig FROM TABLE_1;
In such cases sequence is the most reliable strategy.
Since you can't use sequence, try using your MAX+1 login in Pre-Insert DB trigger. You cannot "lock" a record in such a way that nobody can even select it.
No, you are right, as pinakdb says you cannot lock a table against a SELECT - I was thinking of blocking any attempts to INSERT. If the table is locked in excludive mode by one session then no other session can insert into it.
Your client appears to be very foolish: what is their justification for outlawing sequences?