2013-06-18 10 views

Antwort

17

Verwenden Sie nicht die AS. Die korrekte Syntax ist

ALTER TABLE #TEMP_TBL ADD new_col DECIMAL(18,4) /*Or whatever precision/scale */ 

Oder Sie könnten dies in einem Rutsch alle tun mit

SELECT id, 
     name, 
     val, 
     CAST(NULL AS DECIMAL(18, 4)) AS new_col 
INTO #TEMP_TBL 
FROM .... 

Es denkt, dass Sie versuchen, eine berechnete Spalte hinzuzufügen.

CREATE TABLE #TEMP_TBL(X INT) 

/* Y is a computed column with same value as X*/ 
ALTER TABLE #TEMP_TBL ADD Y AS X 
+0

Pflege der Hand an diesem versuchen ... [link] (http://stackoverflow.com/questions/27339995/why-is-my-alter -table-statement-nicht-richtig-hinzufügen-einer-spalte) – JohnOsborne

2

Versuchen Sie, die folgenden

ALTER TABLE #TEMP_TBL ADD new_col DECIMAL 
Verwandte Themen