在条件中将新列插入表中

时间:2015-11-05 08:34:53

标签: sql sql-server database

我有一个表格Plane其中是列made_in_year(INT),我需要一个新列 last_repair(datetime)NOT NULL ,它需要具有 last_repair&gt; = made_in_year <的条件/ strong>我不知道如何添加该条件或我应该使用什么语法... 我知道我必须使用 ALTER TABLE Plane ALTER COLUMN last_repair DATETIME xxxxxxxxx 以及我应该使用什么代替xxxxxx?

2 个答案:

答案 0 :(得分:2)

试试这个:

alter table Plane 
add constraint myconstraint
check(last_repair>= made_in_year)

答案 1 :(得分:1)

我以为你想同时添加列和约束。

ALTER TABLE Plane
ADD last_repair DATETIME NOT NULL
CONSTRAINT repair_chk CHECK (last_repair >= made_in_year)
DEFAULT(-1);

然后因为你想要NOT NULL,你需要指定一个默认值,但我无法弄清楚如何在最后一个语句中设置last_repair = made_in_year,所以这里是一个更新。

UPDATE Plane
SET last_repair = made_in_year
WHERE last_repair = -1;