Tens of thousands of Germans, Hungarians and Czechs have been evacuated from their homes as soldiers worked to pile up sandbags to hold back rising waters in the region's worst floods in a decade.

The deluge has killed at least 12 people in central Europe since the weekend.

Water started subsiding in Prague and Passau, but fears grew for Bratislava, Budapest and parts of Germany, which forecasters say will be hit in the next few days.

About 1,000 people had to leave their homes in the German city of Dresden, which was devastated by floods in 2002 when the Elbe burst its banks.

Residents paddled up streets in boats as soldiers drove past in tanks.

Further north, authorities in the town of Halle on the Saale told hundreds of residents to leave their homes.

Water receded in Prague, although the medieval Charles Bridge remained closed.

Floods spread to low-lying northern areas of the Czech Republic near the industrial city of Usti nad Labem.

About 3,700 people were rescued after some water barriers broke.

A barrier broke at the Lovochemie chemical plant in Lovosice, north of Prague, flooding the factory.

Workers and dangerous substances had already been moved. Several villages, smaller towns and acres of farm land were submerged.

In the Slovak capital Bratislava, low-lying parks and a waterfront Danube cafe were flooded, but barriers are expected to hold back the worst.

The water level was expected to break through ten metres on Thursday, an all-time high.

In Budapest, 1,200 people piled up sandbags and roads were closed near the Danube.

A road bridge to the popular Margaret Island was closed and tourists from two hotels there were moved.

Animals from a small zoo on the island have been transferred to the main Budapest Zoo.