Ich versuche, Zeilen aus einer Tabelle in SQL Server 2008 zu löschen, die weder Fremdschlüsseleinschränkungen noch Trigger hat. Wenn ich den Nachrichtenabschnitt überprüfe, zeigt es die betroffenen Zeilen an, aber wenn ich die Tabelle überprüfe, sind Reihen noch vorhanden. Anbei ist das Bild als Referenz. Ich bin mir sehr sicher, dass es an dieser Tabelle keine Einschränkungen gibt. Was könnte das Problem sein?Löschen einer Zeile in einer Tabelle ohne Fremdschlüsseleinschränkungen nicht möglich
Antwort
Sie sys-Tabellen verwenden können constrints, Schlüssel, etc. Basierend auf diesen Ergebnissen abzufragen, können Sie aus Ihrer Tabelle löschen. Unten finden Sie eine Beispielabfrage, die Tabellenbeschränkungen zurückgibt.
SELECT
TableName = t.Name,
ColumnName = c.Name,
dc.type,
dc.type_desc,
dc.name,
dc.definition
FROM sys.tables t
INNER JOIN sys.default_constraints dc ON t.object_id = dc.parent_object_id
INNER JOIN sys.columns c ON dc.parent_object_id = c.object_id AND c.column_id = dc.parent_column_id
where t.name = 'yourtablename'
ORDER BY t.Name
Wenn es wirklich kein Trigger auf dem Tisch aus Sie löschen, dann prüfen alle verknüpften Tabellen, die FKs auf dem Tisch aus Sie löschen (und im Gegenzug alle FKs zu diesen Tabellen). Die FKs würden ON DELETE CASCADE
gesetzt haben, so dass das Löschen tatsächlich funktioniert (anstatt einen Fehler zu werfen), nur könnte ein Trigger in irgendeiner dieser FK-tragenden Tabellen die Zeilen sofort wieder hinzufügen.
Sie könnten eine rows affected
Nachricht für alle diese potenziellen Auslöser Operationen nicht unbedingt sehen, weil Trigger SET NOCOUNT ON
, bevor sie eine DML tun ...
- 1. parentNode.parentNode.rowindex zum Löschen einer Zeile in einer dynamischen Tabelle
- 2. Ist es möglich, alle Fremdschlüsseleinschränkungen für eine Tabelle auf einmal in mySQL 5 zu löschen?
- 3. Löschen einer Zeile aus einer Tabelle mit AngularJS
- 4. Löschen einer Zeile aus einer Tabelle mit Laravel
- 5. Löschen einer Zeile aus einer dynamischen HTML-Tabelle
- 6. Löschen einer ganzen Tabelle
- 7. Löschen einer Zeile in Eclipse
- 8. Löschen Sie jede Zeile in einer Tabelle mit JavaScript
- 9. So löschen Sie eine Zeile einer Tabelle in iPhone
- 10. Löschen einer Zeile in einer Tabelle mit Primärschlüssel und verwandten Zeilen in einer anderen Tabelle mit Fremdschlüssel
- 11. Löschen einer Zeile aus einer Gliederungsansicht
- 12. Löschen einer bestimmten Zeile aus einer Textdatei?
- 13. C++ Funktion Löschen einer Zeile
- 14. Parameter zum Löschen einer Zeile
- 15. Löschen einer Zeile aus einer Datei in C Sprache
- 16. Knex-Tabelle mit Fremdschlüsseleinschränkungen abschneiden
- 17. Bearbeiten und löschen Sie eine Zeile in einer Tabelle basierend auf einer ID aus einer anderen Tabelle
- 18. Doktrin 2 Zuordnung ohne Fremdschlüsseleinschränkungen
- 19. Suchen einer Zeile in einer Datentabelle und Löschen in .NET
- 20. Löschen einer Zeile aus einer Klasse in Parse - In Swift
- 21. Löschen einer Zeile Text in JavaScript
- 22. Zeile in einer PrimeFaces-Datentabelle löschen
- 23. Eine bestimmte Zeile in einer Textdatei löschen?
- 24. Löschen einer Zeile in der Konsole
- 25. löschen mehrere Zeiger in einer Zeile. C++
- 26. löschen doppelte Datensätze aus einer SQL-Tabelle ohne Primärschlüssel
- 27. Auswählen einer bestimmten Zeile aus einer Tabelle
- 28. Wie umgeht SqlBulkCopy Fremdschlüsseleinschränkungen?
- 29. Wie für Zeile einer Tabelle
- 30. SQL max Zeile einer Tabelle
welche Einschränkung beziehen Sie sich einstellen. Bitte identifizieren Sie die Einschränkung – PyNoob
(Ich kann das Bild nicht sehen, srry) Sind Sie sicher, dass Sie löschen und aus der gleichen Tabelle auswählen? (Gleiche Datenbank/dasselbe Schema) – mxix
primäre/Fremdschlüssel oder Standardbeschränkungen. – whywake