The procedure doesn't return anything because all your conditional logic involving NULL evaluates to UNKNOWN in SQL Server, which is treated as false. As a result, no rows are inserted or selected. Additionally, your final SELECT is inside a TRY block, and since no error occurs, it runs silently without output. If you want to see a result, add a SELECT NULL AS [null] outside of the TRY...CATCH block at the end. And then also just a heads up that NULL = NULL does not evaluate to true in SQL — it's UNKNOWN. That’s likely why nothing is returned or inserted