+ -
当前位置:首页 → 问答吧 → 新增表字段问题

新增表字段问题

时间:2011-11-07

来源:互联网

有一表A,有2字段 a,b
现在表A中新增一字段c,在字段为空的时候默认b的值,不为空则保存C字段值
环境SQL2000

问题:有没有SQL内置函数运用的呢
求有效方法

作者: z184931481   发布时间: 2011-11-07

SQL code
case when c is null then b else c end as D

作者: OrchidCat   发布时间: 2011-11-07

不是查询语句,是新增字段语句,UP,UP求高手

作者: z184931481   发布时间: 2011-11-07

引用楼主 z184931481 的回复:
有一表A,有2字段 a,b
现在表A中新增一字段c,在字段为空的时候默认b的值,不为空则保存C字段值
环境SQL2000

问题:有没有SQL内置函数运用的呢
求有效方法


新增字段沒指定默認值時都為空

作者: roy_88   发布时间: 2011-11-07

用计算列试试。

作者: fredrickhu   发布时间: 2011-11-07

用触发器,或者加个约束

作者: winstonbonaparte   发布时间: 2011-11-07

不做触发情况下哪种方法最为方便

作者: z184931481   发布时间: 2011-11-07

求实例语句

作者: z184931481   发布时间: 2011-11-07

SQL code
CREATE TABLE T(ID INT UNIQUE,B INT,c int)

go

CREATE TRIGGER tr_T ON T
FOR INSERT
AS
SET NOCOUNT ON;
UPDATE T
SET C=T.b
FROM INSERTED i INNER JOIN T ON i.ID=T.ID
WHERE i.C is null
GO
INSERT T(ID,B,C)
SELECT 1,10,NULL
UNION ALL 
SELECT 2,10,20 

SELECT * FROM T
/*
ID    B    c
1    10    10
2    10    20*/
go
DROP TABLE T

作者: roy_88   发布时间: 2011-11-07

引用 4 楼 fredrickhu 的回复:

用计算列试试。

计算列不行,只能用触发器了

作者: Beirut   发布时间: 2011-11-07