The problem with using a SRO is that he can only be in one place at a time. In our local school district, for example, there is one SRO who has to cover 4 different campuses, all in different parts of town. That gives him at best, a 1 in 4 chance of being on the grounds of a particular school in the event of an active shooter incident. Arming volunteer teachers is not only a more effective method of providing coverage, it is also much more cost effective. If you could arm, say... 10 teachers per school, that would be the equivalent of 40 SROs.
Of course, the best solution is a combination of active and passive defensive measures. Armed personnel on campus and strict access control. Keep the shooter from getting on campus in the first place or making sure he can't get on campus with the weapons he needs to carry out his act would greatly reduce the risk of armed personnel ever being required to respond in the first place. There should still be armed personnel available in case someone manages to slip in, but the odds of that happening can be greatly reduced with proper and relatively simple planning.