我正在开展一个项目,我必须改变表格的防御,但我需要保留那里的数据,我不知道如何实现这一点。
实际的表结构如下
[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;
我如何做到这一点?
答案 0 :(得分:4)
我的简单更新应该足够了
UPDATE dbo.Documentos SET IDEstadoDocumento = 3 WHERE Anulado = 1