在ms sql中更改动态创建的表

时间:2015-03-25 05:52:36

标签: sql sql-server mssqlft

假设我有一个临时表#Temp1,说两列名称和国籍为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

感谢您的帮助..

2 个答案:

答案 0 :(得分:2)

你可以这样做:

Alter Table #Temp2
Add Phone Int, Gender Char

只需删除"()"。 : - )

答案 1 :(得分:0)

使用此syntax

ALTER TABLE #Temp2
ADD Phone Int

ALTER TABLE #Temp2
ADD Gender Char