There are situations where I have to work on tables with no primay key. I couls use the row_id instead, but this assumes to have a field which is unique, and this is not always true, especially in system whihc do not require this (db2 among others).
Would it be technically possible to use 2 fields concatenated to be used as a the unique ID: for instance an order_lines table with no order_line_id where the unicity can be done with the order_id + the order_line_rank_id (number of the order_line for the given order, reset at every order). simply concatenating them with an intermediate character should be enough to get a unique string.