Can any one tell me what to do to run such a query of variables passed into a procedure as under

create procedure testproc
as
begin
declare @tbl varchar(100)
declare @col varchar(100)
declare @max bigint

set @tbl = 'category'
set @col = 'cat_id'

declare cur cursor for
select max(cat_id) from @tbl
end


The message of error is
" Must declare the variable @tbl "