If you look at this test result, I don't think non deterministic is the issue. It appears that a stored procedure will only take a variable or a hard coded value, and not result of a function or a calculation.create proc P_MY_PROC( @MY_PARAM int = null )asselect [x] = @MY_PARAMgoexec P_MY_PROC @MY_PARAM = 3goprint 'Bad 1'goexec P_MY_PROC @MY_PARAM = convert(int,'2')goprint 'Bad 2'goexec P_MY_PROC @MY_PARAM = 2+3godrop proc P_MY_PROCx ----------- 3(1 row(s) affected)Bad 1Server: Msg 156, Level 15, State 1, Line 1Incorrect syntax near the keyword 'convert'.Bad 2Server: Msg 170, Level 15, State 1, Line 1Line 1: Incorrect syntax near '+'.
CODO ERGO SUM