Someone who is intent on mayhem isn't going to obey a law or "zone".
I don't understand what it is about that painfully simple fact that gun-control nuts cannot comprehend. A person who intends to go somewhere and start shooting people until he runs out of bullets is not concerned with his life expectancy or his GPA; why on earth would he care that some place is a "gun-free zone"? "Oh, shit! I was going to go shoot a bunch of people there, but it's a 'gun-free zone'! I guess I'll have to find another place to shoot people."
A quote from the front page of the Chicago Sun-Times: "Teacher: I kept running and he kept shooting"
All it would have taken is for one student in that class to have a firearm. How many injuries could have been prevented, and how many lives could have been saved, if there had been just one other student in that classroom who'd had a gun?
But no! No, that's not the answer. The answer is for all law-abiding citizens to unilaterally disarm themselves and for us to establish places which guns are not allowed. That will fix everything. The "gun-free zone" establishes a magic shield which keeps people from going on violent rampages with a high body count.
The end result is that we must rely on police and security people who are not where the shooter is. (Of course they're not. The shooter wouldn't start shooting if they were. And if he was really determined to shoot right there he'd probably start by shooting the police anyway.) It takes time for the police to be notified, since they don't have magic "gunshot detectors" like they do in the movies.
You know what I mean. The writers of The Last Action Hero even played on that angle. The bad guy shot some person, and marveled at the lack of police sirens. "I just shot this man, and I meant to do it!" He announced to the people in the real world. Yet in many movies and TV shows, there is usually a 3-5 minute delay between "shots fired" and the distant howl of police sirens. Ergo, cops have "gunshot detectors".
But not in real life. If someone outside the action happens to hear the gunshots, and if he calls the police right away, it takes time for 911 to process the call, and it takes more time for the polce to get to the scene.
A single person can kill an entire classroom full of people and have time to smoke a couple of cigarettes before the cops even start moving toward the scene. That's just using a single handgun, by the way. And if the shooter is feeling especially violent, he can move to another classroom and shoot more people before he has to start thinking about the police moving in. It takes time for the police to act, and while the police are dicking around the shooter--operating in a "gun-free zone" where he is the only person with a weapon--can keep shooting people until he runs out of bullets.
On the other hand, properly licensed private citizens who are carrying weapons can act as soon as their lives are endangered. But not if they're not allowed to carry their weapons.