Please try Dynamic SQL
DECLARE @tmp AS TABLE ( Name VARCHAR(10), Age INT, Salary INT)
INSERT INTO @tmp(Name,Age,Salary) (SELECT 'A',1,10)
INSERT INTO @tmp(Name,Age,Salary) (SELECT 'C',10,11)
INSERT INTO @tmp(Name,Age,Salary) (SELECT 'B',100,12)
DECLARE @DynamicSQL as VARCHAR(100)
DECLARE @YourParameter VARCHAR(10)
SET @YourParameter =1
SET @DynamicSQL = 'SELECT * FROM @tmp ORDER BY ' + @YourParameter
Exec(@DynamicSQL)
Execute Dynamic SQL commands in SQL Server