Here @plan_id, @category_id are integer types.. then what is the purpose of IN clauses ?
CREATE PROCEDURE [dbo].[usp_get_data]
( @plan_id int, @category_id int
SELECT * from category WHERE category.category_id = @category_id and [plan].plan_id =@plan_id
The above is enough for checking conditions based on input params...
If you want your procedure only means you need to cast @plan_id, @category_id variables to VARCHAR