sql >> Databasteknik >  >> RDS >> Sqlserver

TSQL:Try-Catch Transaction i Trigger

Enligt min erfarenhet kommer alla fel som fångas i ett försök att fånga i en trigger att återställa hela transaktionen; du kanske kan använda en spara transaktion. Jag tror att du måste titta på vad som händer i "Något mer sql" och avgöra om du kan skriva skiftläge / if-satser runt det för att stoppa felet.

Det du kanske kan göra beroende på vad du gör är att använda en spara transaktion och fånga det i fångsten

I din kod något i stil med detta

SAVE TRANSACTION BeforeUpdate;
BEGIN TRY
        --Some More SQL
END TRY
BEGIN CATCH
ROLLBACK TRANSACTION BeforeUpdate;
        return
END CATCH


  1. Gå med i alla PostgreSQL-tabeller och skapa en Python-ordbok

  2. I node.js mysql-frågan, kontrollera om ingen matchning hittades

  3. Konvertera heltal till hex och hex till heltal

  4. Visar månadssummor från flera kolumner i PostgreSQL