创建一个应该通过连接表中其他列中的值来自动生成的列

我在SQL数据库中有一个包含四列的表:ID,Comp_Id,Cont_Id和Comp_Cont_Id。手动输入ID,Comp_Id,Cont_Id列中的值,并通过连接ID,Comp_Id,Cont_Id列中的值自动生成Comp_Cont_Id列中的值。 例如,如果我们分别输入(201,301,401)(ID,Comp_Id,Cont_Id),则应在表的Comp_Cont_Id列中自动生成值201_301_401。 有没有办法实现它?如果是这样,请告诉我。     
已邀请:
MS SQL支持计算列,语法在这个类似的问题中给出。
DROP TABLE test99
CREATE TABLE test99 (
    id int,  
    comp_id int,  
    cont_id int,
    comp_cont_id AS cast(id AS varchar) + '_' + cast(comp_id AS varchar) + '_' + cast(cont_id AS varchar)
) 

INSERT INTO test99 (id, comp_id, cont_id)
VALUES (201, 301, 401)

SELECT * FROM test99
    
您使用PHP或ASP.NET输入值吗?如果用户直接键入表,您可以尝试使用触发器设置最后一个值。 但是,Comp_Cont_Id是所谓的派生字段。它的价值取决于其他领域。派生字段的示例是记录的总数,价格的平均值等。最好动态地动态地提出字段,而不是存储它。当然,这有例外,例如性能很重要。     

要回复问题请先登录注册