Be careful in using @ type temporary tables.
The optimizer has no statistics on @ tables and assumes it has ONE row.
Even if you put a primary key on it, the PK only acts as a constraint.
If you have more than a handful of rows in the @ table, you may have performance issues.
You are better off using # temp table instead, if the table will contain more than a handful of rows.