I’ve got a program here that finds procedures with missing column specifications.
If for some reason, you don’t care about enforcing this rule for temp tables and table variables, then uncomment the line
// visitor.TolerateTempTables = true;
It uses ScriptDom which you can get from Microsoft as a nuget package.
The performance is terrible in Visual Studio because ScriptDom uses Antlr which uses exceptions for flow control and this leads to lots of “first chance exceptions” which slows down debugging. Outside of Visual Studio, it’s just fine.
Click through for the code.