sql >> Databasteknik >  >> RDS >> Sqlserver

Kontrollerar överträdelse av referensintegritetsregeln före radering

Det finns några möjliga alternativ som du tänker på:

  • Ställ in överlappande borttagningar i databasen så att en radering alltid kommer att lyckas.
  • Sök efter relaterade poster med SELECT innan du tar bort. Detta kräver att applikationen har kunskap om begränsningarna.
  • En bra domänmodell (företagsklasser) bör göra det möjligt för applikationen att vara medveten om relaterade uppgifter.
  • En O/R Mapper, som NHibernate, kan användas för att definiera kaskadraderingsoperationer.
  • Använd SMO (Microsoft.SqlServer.Smo) för att inspektera databasschemat för relationer, kontrollera sedan efter befintliga relaterade poster. Jag vet inte om det är möjligt.


  1. WHERE-sats i OPEN QUERY

  2. Uppdatera fält baserat på en annan tabells fältvärden

  3. Hur man får en rad i SQLite efter index (inte efter id)

  4. Count(*) vs Count(Id) i sql-server 2005