I mention something else.
Sometime i need first the Key.
For example , i call getID("TableName")
i use this key for many insert , parent / child relations.
But sometime i am not interested in the key en i only want to do a insert without the getID call
we have some tables with no single column key, we want to change that but not to rewrite the old application. The new application works whit the getid solution. So for old one it must be transparent.