【问题标题】:Alter dynamically created table in ms sql在 ms sql 中更改动态创建的表
【发布时间】:2015-03-25 05:52:36
【问题描述】:

假设,我有一个临时表 #Temp1,其中包含两列 Name 和 Nationality 作为 Varchar(50) 数据类型,并且该表有一些记录。我从这个表(#temp1)创建另一个临时表作为#Temp2。现在我希望在该临时表中添加另一列,将 PhoneNo 作为 Int 并将 Gender 作为 Char 数据类型。我如何做到这一点?

Begin Tran
Create table #Temp1(
    Name    Varchar(50),
    Nationality Varchar(50)
);

Insert Into #Temp1 (Name, Nationality) Values ('Jayaraj','Indian');

Select Identity(Int,1,1) SlNo, Name Into #Temp2
From #Temp1 Order By Nationality    

-- Now the actual issue begins. I wish to alter the #Temp2 table.
-- So I try to alter the table, to add column Phone and Gender

Alter Table #Temp2
Add(
    Phone Int,
    Gender Char
);

Select * from #Temp2

-- Upon Executing I get this error : 
/*
  Msg 102, Level 15, State 1, Line 16
  Incorrect syntax near '('.
*/

Rollback

感谢您的帮助..

【问题讨论】:

    标签: sql sql-server mssqlft


    【解决方案1】:

    你可以这样做:

    Alter Table #Temp2
    Add Phone Int, Gender Char
    

    只需删除“()”。 :-)

    【讨论】:

    • 解决了这个问题。感谢您的快速回复。
    【解决方案2】:

    使用这个syntax

    ALTER TABLE #Temp2
    ADD Phone Int
    
    ALTER TABLE #Temp2
    ADD Gender Char
    

    【讨论】:

      猜你喜欢
      • 2019-03-22
      • 2018-05-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多