I probably didn't read Sergio's question carefully enough. 
gen id = max(v1, v2, v3) 
may be enough to do what he wants. It would be worth checking 
assert max(v1, v2, v3) == min(v1, v2, v3) 
Much more discussion of rowwise operations was given in 
SJ-9-1  pr0046  . . . . . . . . . . . . . . . . . . .  Speaking Stata: Rowwise
        (help rowsort, rowranks if installed) . . . . . . . . . . .  N. J. Cox
        Q1/09   SJ 9(1):137--157
        shows how to exploit functions, egen functions, and Mata
        for working rowwise; rowsort and rowranks are introduced
Nick 
[email protected] 
Nick Cox
Use -egen, group() label- or -egen, concat()-. Also study 
FAQ     . . . . . . . . . . . . . . . . . . . . . . Creating group identifiers
        3/01    How do I create individual identifiers numbered
                from 1 upwards?
                http://www.stata.com/support/faqs/data/group.html
Nick 
[email protected] 
SERGIO M. AFCHA CHÁVEZ
I have a little problem merging a data base. I have variables for 3 
years showing an ID:
V1  V2  V3
1     .       1
2     .       2
3    3       3
4    4        .   
.     5       5
6     .       6
I need only one ID variable. How can I obtain one column with  all the 
ID numbers?
*
*   For searches and help try:
*   http://www.stata.com/help.cgi?search
*   http://www.stata.com/support/statalist/faq
*   http://www.ats.ucla.edu/stat/stata/