2013-06-18 10 views
8

मैं SELECT INTO के माध्यम से एक अस्थायी तालिका बना रहा हूं।टेम्पम तालिका में कॉलम जोड़ें - 'अमान्य कॉलम नाम DECIMAL'

SELECT id, name, val 
INTO #TEMP_TBL 

ALTER TABLE #TEMP_TBL ADD new_col AS DECIMAL 

Error: Invalid column name 'DECIMAL'. 

मैं कहाँ गलत यहाँ जा रहा हूँ: मैं अस्थायी तालिका तो बनाने के लिए इतना है कि यह करने के लिए एक स्तंभ जोड़ने के लिए करना चाहते हैं?

उत्तर

17

AS का उपयोग न करें। सही सिंटैक्स

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

है या आप

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

यह सोचता है कि आप एक गणना स्तंभ जोड़ने के लिए कोशिश कर रहे हैं के साथ एक ही बार में सभी ऐसा कर सकता है।

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

देखभाल ... [कड़ी] (http://stackoverflow.com/questions/27339995/why-is-my-alter -table बयान-नहीं-ठीक से जोड़ने एक स्तंभ) – JohnOsborne

2

इस एक पर अपने हाथ की कोशिश करने का प्रयास करें निम्नलिखित

ALTER TABLE #TEMP_TBL ADD new_col DECIMAL 
संबंधित मुद्दे