2013-11-22 91 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

相關問題