是否可以在不影响现有数据的情况下进行计算列?
我有一个唯一的索引列
"BookingNo"
对于新插入的列,我希望它遵循这种格式
(format([CreationTime],'yyMMddHHmmssff'))
我尝试使用计算列,但它修改了我所有的现有数据。
我现有的BookingNo格式为
201800123
反正有通过数据库生成的内容吗?还是我们通过代码插入了?
答案 0 :(得分:2)
您可以添加默认约束:
ALTER TABLE TableName
ADD CONSTRAINT DF_BookingNo DEFAULT(format(SYSDATETIME(),'yyMMddHHmmssff'))
FOR BookingNo
这样,您将仅获得新创建的行的值。
请注意,如果此列具有唯一性约束,则某些插入操作如果同时执行,则可能会失败。