如果满足条件,则为sql server update字段

时间:2013-11-22 10:45:52

标签: sql sql-server sql-update alter

我正在开展一个项目,我必须改变表格的防御,但我需要保留那里的数据,我不知道如何实现这一点。

实际的表结构如下

[IDDocumento (int)]
[IDTipoDocumento (int)]
[IDEntidade (int)]
[Data (datetime)]
[Designacao (varchar 100)]
[TotalIliquido (money)]
[TotalImposto (money)]
[TotalRetencoes (money)]
[TotalLiquido (money)]
[Anulado (bit)]

我需要做的是放弃'Anulado'列并添加3个新列,维护存储的数据,如果'Anulado'为TRUE,则给其中一个新列赋值

我拥有的是

ALTER TABLE dbo.Documentos
ADD
IDEstadoDocumento int null,
DataVencimento datetime null,
ValorAberto decimal(18,5) not null CONSTRAINT DF_Documentos_ValorAberto DEFAULT 0;

//HERE IS WHERE I NEED TO CHECK IF 'ANULADO' IS TRUE OR NOT AND CHANGE 'IDEstadoDOCUMENTO' TO 3 WHEN IT IS

ALTER TABLE dbo.Documentos
DROP COLUMN Anulado;

我如何做到这一点?

1 个答案:

答案 0 :(得分:4)

我的简单更新应该足够了

UPDATE dbo.Documentos SET IDEstadoDocumento = 3 WHERE Anulado = 1