1759: Die berechnete '%1!'-Spalte in der '%2!'-Tabelle darf nicht in einer anderen Definition
Fehlermeldung:
Meldung 1759, Ebene 16, Status 0, Zeile 1
Die berechnete '%1!'-Spalte in der '%2!'-Tabelle darf nicht in einer anderen Definition einer berechneten Spalte verwendet werden.
Ebene:
16.
Beschreibung:
Diese Fehlermeldung erscheint, wenn man versucht eine berechnete Spalte innerhalb der Definition einer weiteren berechneten Spalte zu verwenden.
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. Berechnete Spalten können nicht innerhalb der Definition weiterer berechneter Spalten verwendet werden.
Versionen:
Alle Versionen von SQL Server.
Beispiele:
USE tempdb;
GO
DECLARE @t VARCHAR(10)
IF OBJECT_ID('tempdb..#t') > 0
DROP TABLE #t
GO
CREATE TABLE #t
(
c1 INT PRIMARY KEY,
c2 AS c2 * 2
)
GO
INSERT INTO #t SELECT 1
UNION ALL SELECT 2
GO
UPDATE #t
SET c2 = 3
Anmerkungen:
Im obigen Beispiel wird versucht, die berechnete Spalte c2 innerhalb der Definition der Spalte c2 zu verwenden. Dies löst den Fehler aus.