2013-11-22 59 views
0

我正在做一个项目,我必须改变表格defenition,但我需要保持那里的数据已经存在,我不知道如何做到这一点。如果条件得到满足,sql服务器更新字段

实际的表结构如下所示

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

什么,我需要做的是放弃了“Anulado”列,并添加3个新栏目,保持所存储的数据,并给出一个值的一个新列,如果“Anulado”是真实的

我有什么是

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; 

我怎样suposed做到这一点?

+0

你需要使用纯SQL? – mrangry777

回答

4

我简单的更新应该足够

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

哦,我的......当然!大声笑今天早上没有思考:D谢谢 – FabioG

相关问题