What i need it Keep on Incrementing as i explain above. Do i need to change my code? Or Better way to achieve my requirments.

since id is autoincrementing, you dont manually need to autoincrement values. on each record insertion, ID will get next value automatically and surveyID will get corresponding value as its calaculated column based on id.

do you mean creating or invoking function inside procedure? I think you meant invoking a function from inside the procedure. If yes, its possible. If you want former, i wanted ask what's purpose behind doing this?