【问题标题】:Add Column to Temp Table - 'Invalid column name DECIMAL'将列添加到临时表 - '无效的列名 DECIMAL'
【发布时间】:2013-06-18 14:56:37
【问题描述】:

我正在通过SELECT INTO 创建一个临时表。我想创建临时表然后向其中添加一列,如下所示:

 SELECT id, name, val
 INTO #TEMP_TBL

 ALTER TABLE #TEMP_TBL ADD new_col AS DECIMAL

 Error: Invalid column name 'DECIMAL'.

我哪里错了?

【问题讨论】:

    标签: sql sql-server-2008 tsql


    【解决方案1】:

    不要使用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
    

    【讨论】:

    • 请尝试一下这个...link
    【解决方案2】:

    试试下面的

    ALTER TABLE #TEMP_TBL ADD new_col DECIMAL
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-12-01
      • 2017-09-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多