sql >> Databasteknik >  >> RDS >> Oracle

Enhetstestning av DDL-satser som måste finnas i en transaktion

Först måste jag säga:dålig idé att göra på det här sättet. Av två skäl:

  1. Anslutningar är baserade på användare. Det betyder att du i stort sett förlorar fördelarna med anslutningspooling. Den skalar inte heller särskilt bra. Om du har 10 000 användare på en gång, kommer du att kontinuerligt öppna och stänga hårda anslutningar (istället för mjuka anslutningspooler); och
  2. Som du har upptäckt är att skapa och ta bort användare DDL, inte DML och därmed förlorar du "transaktionalitet".

Jag är inte säker på varför du har valt att göra det här men jag skulle starkt rekommenderar att du implementerar användare i applikationen och inte i databaslagret.

När det gäller hur du löser ditt problem kan du i princip inte. Samma som om du skulle skapa en tabell eller ett index i mitten av din sekvens.



  1. Hur kan jag fråga alla mina data inom ett avstånd av 5 meter?

  2. Varför går SQL-id-sekvenser ur synk (särskilt med Postgres)?

  3. Gå med i tre bord med MySQL

  4. SQL för att automatiskt generera saknade datum och pris från omedelbart föregående datum för saknat datum i tabellen