sql >> Database teknologi >  >> RDS >> Mysql

Indlejret transaktionsrulning mellem to sparepunkter?

Savepoints vil ikke gøre, hvad du vil. Når du ruller tilbage til et lagringspunkt, rulles alt efter det lagringspunkt tilbage, uanset om senere lagringspunkter blev oprettet.

Tænk på savepoints som en "stak". Du kan ikke trække noget ud af midten af ​​stakken, du skal fjerne alt ned til det lag, du ønsker.

Du leder sandsynligvis efter autonome transaktioner. Ingen af ​​de databaser, du vil bruge, understøtter dem. I PostgreSQL kan du omgå dette ved at bruge dblink-modulet til at oprette en ny forbindelse til databasen og arbejde med den; se http://www.postgresql.org/docs/current/static/ dblink.html . Jeg ved ikke, hvilke løsninger MySQL eller SQLite tilbyder, men Google hjælper nu, hvor du kender det udtryk, du leder efter.

Jeg anbefaler, at du finder en måde at omgå dette krav til applikationsdesign, hvis det er muligt. Få din applikation til at bruge to databaseforbindelser og to transaktioner til at gøre det, du har brug for, og sørge for at koordinere de to efter behov.




  1. Sammenlign datoer i T-SQL, ignorer tidsdelen

  2. Hvordan kan jeg forhindre Oracle SQL Developer i at lukke DB-forbindelsen?

  3. Sådan ændres kolonnestørrelsen på en visning i Oracle

  4. Hent poster, der ikke er nul efter decimaltegnet i PostgreSQL