2
Simpler. Easier to read. Less prone to mistakes. Doesn't require permissions granted directly on the tables.
Though the two aren't equivalent. The WHERE clauses are different. Did you mean id = @id in the second?
Gail Shaw
Microsoft Certified Master: SQL Server, MVP, M.Sc (Comp Sci)
SQL In The Wild: Discussions on DB performance with occasional diversions into recoverability