I like Dan's idea too. Ed's enhancement of separating input and
output variables may also have merit, assuming it can be coded without
significant extra overhead.
Having db_1row somequery just magically set up several TCL variables would be ... hard to read and debug. The proposed change solves that with minimal programmer hassle.
Go for it!