• Interesting/worrying! We have lots of code that does something like

    declare @i int

    set @i = 10

    set rowcount @i

    insert into tab1

    select * from tab2

    in order to insert the top n rows from one table into another.

    We can't easily use 'top' because it won't accept a variable, ie

    select top @i...

    won't work, so we'd need to use dynamic sql everywhere.

    I've verified that this use of rowcount still works in 2008, and for interest it works with delete as well, ie

    set rowcount 1

    delete from table1

    will only delete 1 row.