At least 19 people were killed and dozens injured at a vocational school in the Black Sea region of Crimea on Wednesday when a student went through the building shooting at fellow pupils before killing himself, Russian law enforcement officials said.

Vladislav Roslyakov, 18, turned up at the institution in the city of Kerch on Wednesday afternoon carrying a firearm and then began shooting, investigators said. His body was later found in the building with what they said were self-inflicted gunshot wounds.

There were no immediate clues as to his motive in mounting such an attack, which recalled similar shooting sprees carried out by students in U.S. schools.

There was a child who was being helped to walk because he could not move on his own. The wall was covered in blood. - Anastasia Yenshina , student

Russia annexed Crimea from Ukraine in 2014, prompting international condemnation and Western sanctions, but since then there have been no major outbreaks of violence there.

Pupils and staff described scenes of mayhem in Wednesday's attack as panicked pupils tried to flee. They said it started with an explosion, followed by more blasts and a hail of gunfire.

Officials said an explosive device had gone off in the school's cafeteria during the attack, and that a second device had been found among Roslyakov's belongings and defused.

Many of the victims were teenage students who suffered shrapnel and bullet wounds.

Russian President Vladimir Putin, at a meeting in the southern Russian resort of Sochi with his Egyptian counterpart, declared a moment's silence for the victims.

"This is clearly a crime," he said. "The motives will be carefully investigated."

'Children's bodies everywhere'

The director of the school, Olga Grebennikova, described the scene that she encountered when she entered the building after the attack.

"There are bodies everywhere, children's bodies everywhere. It was a real act of terrorism. They burst in five or 10 minutes after I'd left. They blew up everything in the hall, glass was flying," Grebennikova told Crimean media outlets.

"They then ran about throwing some kind of explosives around, and then ran around the second floor with guns, opened the office doors, and killed anyone they could find."

Russian special forces servicemen stand near the site of the attack on Wednesday. (KERCH.FM/AFP/Getty Images)

Soon after the attack, Russian officials said they were investigating the possibility that it was terrorism. Troops with armoured personnel carriers were sent to the scene. Local parents were told to collect their children from the city's schools and kindergartens for their safety.

However, the Investigative Committee, the state body that investigates major crimes, said later that it was reclassifying the case from terrorism to mass murder.

An employee at Kerch's hospital said dozens of people were being treated for their injuries in the emergency room and in the operating theatre.

'Everyone started running'

Anastasia Yenshina, 15, a student at the school, said she was in a toilet on the ground floor of the building with some friends when she heard the sound of an explosion.

"I came out and there was dust and smoke, I couldn't understand, I'd been deafened," she told Reuters. "Everyone started running. I did not know what to do. Then they told us to leave the building through the gymnasium."

"Everyone ran there … I saw a girl lying there. There was a child who was being helped to walk because he could not move on his own. The wall was covered in blood. Then everyone started to climb over the fence, and we could still hear explosions. Everyone was scared. People were crying."

An image made from video shows emergency personnel loading an injured person onto a truck outside the vocational school in Kerch on Wednesday. (Kerch FM News via Associated Press)

Photographs from the scene of the blast showed that the ground floor windows of the two-story building had been blown out, and that debris was lying on the floor outside.

Emergency services teams could be seen in the photographs carrying wounded people from the building on makeshift stretchers and loading them on to buses and ambulances.

A second pupil at the school, who gave his name as Sergei, said he had taken a few steps out of the building into the street when the first blast went off. He was hit by debris from the blast, injuring his leg.

Sergei, 15, told Reuters he ran to another building, but said he could hear more explosions going off every few seconds. He took cover and after the attack was over, he was taken to hospital in an ambulance.

"I arrived at the hospital.The scene there was awful. They're bringing in people all covered in blood, some with arms missing, some with legs missing."