4922: Fehler bei %1! %2!, da mindestens ein Objekt auf diese Spalte zugreift.
Fehlermeldung:
Meldung 4922, Ebene 16, Status 9, Zeile 1
Fehler bei %1! %2!, da mindestens ein Objekt auf diese Spalte zugreift.
Ebene:
16.
Beschreibung:
Diese Fehlermeldung erscheint, wenn man versucht, eine Tabellenspalte per ALTER TABLE DROP COLUMN zu löschen, für die es aber noch abhängige Datenbankobjekte gibt.
Auswirkungen:
Das SQL Statement kann zwar geparst werden, jedoch zur Laufzeit wird der Fehler ausgelöst.
Behebung:
Fehler der Ebene 16 sind Fehler, die vom Anwender hervorgerufen werden. Sie können und müssen vom Anwender korrigiert werden. Das Statement kann so nicht ausgeführt werden. Zunächst müssen die abhängigen Objekte gelöscht werden, bevor die Tabellenspalte entfernt werden kann.
Versionen:
Alle Versionen von SQL Server.
Beispiele:
USE tempdb;
GO
IF OBJECT_ID('tempdb..#t') > 0
DROP TABLE #t
GO
CREATE TABLE #t
(
id INT PRIMARY KEY
)
GO
ALTER TABLE #t DROP COLUMN id
Anmerkungen:
Im obigen Beispiel wird versucht, die Spalte c1 der Tabelle #t zu löschen. Da aber noch eine PRIMARY KEY Einschränkung für diese Spalte existiert, wird der Fehler ausgelöst.
Um das Statement erfolgreich durchführen zu können, muß zunächst die PRIMARY KEY Einschränkung entfernt werden, bevor die Spalte gelöscht werden kann.