日期:2014-05-19  浏览次数:20466 次

|M| 求SQL添加表字段语句 谢谢
如表
ta1
id     sex

现在我想
在sex字段的前面加个name   类型为nvarchar   长度为100
在sex字段的后面添加brithday   类型为   datatime   长为   8   默认为:1900-01-01
                              添加Fee   类型为decimal   默认为0   小数位数为2

请牛人帮忙
谢谢



------解决方案--------------------
下例添加一个允许空值的列,而且没有通过 DEFAULT 定义提供值。各行的新列中的值将为 NULL。

CREATE TABLE doc_exa ( column_a INT)
GO
ALTER TABLE doc_exa ADD column_b VARCHAR(20) NULL
GO
EXEC sp_help doc_exa
GO
DROP TABLE doc_exa
GO


------解决方案--------------------
在sex字段的前面加 这个是不可能的 只能在后面加
在前面加要先创建临时表 然后 倒入数据到临时表 删除原来的表 重新创建原来的表 导入临时表数据 才可以

先说后面加
alter table 表名 add brithday datatime
------解决方案--------------------
Create Table ta1
(id Int,
sex Bit)
GO
Alter Table ta1 Add name nvarchar(100)
Alter Table ta1 Add brithday datetime Default '1900-01-01 '
Alter Table ta1 Add Fee decimal(10, 2) Default 0
Go
Insert ta1(id, sex) Select 1, 1
Select * From ta1
GO
Drop Table ta1
--Result
/*
id sex name brithday Fee
1 1 NULL 1900-01-01 00:00:00.000 .00
*/
------解决方案--------------------
alter table yourtable add brithday datatime