Having trouble setting a computed column as not Null

I'm having problems setting a computed column as not null .

What I want to achieve is C001 , C002... , etc. and at the same time set it as not null .

I have read on a forum that this can be achieved by using the default value 0 for NULL values.
Eg, ISNULL(Price + Taxes, 0)

I have tried to apply to this formula:

('C'+right('000'+CONVERT([varchar](3),[ID],(0)),(3)))

But it didn't seem to work. Can anyone tell me what am I missing?

ALTER CreditCard accountNo AS ISNULL('C'+right('000'+CONVERT([varchar](3),[idCreditCard],(0)),(3)),0)

I've finally found the solution to my problem!

The correct query should be:

ALTER TABLE CreditCard ADD accountNo AS ISNULL('C'+right('000'+CONVERT([varchar](3),[idCreditCard],(0)),(3)),0)

Thanks for the help guys!


If this relates to SQL Server, you might be interested in this from MSDN.

'NOT NULL can be specified for computed columns only if PERSISTED is also specified.' http://msdn.microsoft.com/en-us/library/ms190273.aspx

... but after trying to reverse-engineering the question from the answer, I think that 'keenlearner wanted only to ensure that there was never a null value in the column without having the constraint.

链接地址: http://www.djcxy.com/p/24722.html

上一篇: 向数据仓库添加新维度(向事实表添加新列)

下一篇: 无法将计算列设置为空值时遇到问题