Først og fremmest må jeg sige:dårlig idé at gøre det på denne måde. Af to grunde:
- Forbindelser er baseret på bruger. Det betyder, at du stort set mister fordelene ved forbindelsespooling. Den skalerer heller ikke særlig godt. Hvis du har 10.000 brugere på én gang, vil du løbende åbne og lukke hårde forbindelser (i stedet for bløde forbindelsespuljer); og
- Som du har opdaget, er oprettelse og fjernelse af brugere DDL ikke DML, og du mister derfor "transaktionalitet".
Ikke sikker på, hvorfor du har valgt at gøre det, men jeg ville stærkt anbefaler, at du implementerer brugere ved applikationen og ikke databaselaget.
Med hensyn til, hvordan du løser dit problem, kan du dybest set ikke. Det samme som hvis du oprettede en tabel eller et indeks midt i din sekvens.