I don't consider SQL generation to be the biggest benefit of Class::DBI. Mostly I just like having all of the drudgery of moving stuff between objects and the database handled for me. However, if you want this and you don't want to code the SQL yourself, it's pretty easy to subclass it and add this. Just take a look at the code. Also, search the Class::DBI mailing list because others have done this before.