From: Lars Zeb Date: 2008-01-31T00:59:57+09:00 Subject: Re: newbie file write problem On Jan 29, 9:43 pm, 7stud -- wrote: 7stud, thanks for the help. I hope this is what you're looking for: class SicCode def initialize(line) split_to_columns(line) end def split_to_columns(line) a = line.split(/\s+/) @sic = a[0] @descr = a.last(a.length - 1 ).join(" ") end def get_sql puts %Q{IF EXISTS (SELECT * FROM Sic WHERE Code = '#@sic') BEGIN UPDATE Sic SET Descr = '#@descr' WHERE Code = '#@sic' END ELSE BEGIN INSERT INTO Sic SELECT '#@sic', '#@descr', getdate() END } end end irb(main):069:0> line="3291 ABRASIVE PRODUCTS" => "3291 ABRASIVE PRODUCTS" irb(main):070:0> puts SicCode.new(line).get_sql IF EXISTS (SELECT * FROM Sic WHERE Code = '3291') BEGIN UPDATE Sic SET Descr = 'ABRASIVE PRODUCTS' WHERE Code = '3291' END ELSE BEGIN INSERT INTO Sic SELECT '3291', 'ABRASIVE PRODUCTS', getdate() END nil => nil