MSSQL2k8 introduced neat feature called TVP. It's simply ability to put into variable rows and the work with it. This is extremely useful when you want to pass into and process more rows in SP.
create type testRow as table (id int, s nvarchar(200), y datetime);
create procedure testSP(@row testRow READONLY)
select id + 1, s from @row;
declare @myRow testRow;
insert into @myRow values (10, 'abc', CURRENT_TIMESTAMP);
insert into @myRow values (11, 'abc', CURRENT_TIMESTAMP);
exec testSP @myRow;