Thats exactly what we do but taking a lock takes 1 RTT to the database which means about 100ms. it limits the number of events receivers can handle. IF you have too many events, receivers will be just trying to take a lock most of the time.
Ex. you have two consumers, if the sequence number is odd, A picks it, if its even B picks.