You can use dynamic query approach. You practically build your query as string and execute it inside the procedure, so you can use your table name as parameter. Look here:
Building Dynamic SQL In a Stored Procedure[
^]. But it rarely wise to do so. You will end up with an unsustainable application. You better put your DAL and BL "near" the DBMS, and solve this need on a higher level.