[英]Autofill a column according to another T-SQL statement
通常,这可以通过使用查找表来完成。
因此,您将拥有一个表,然后为Gname添加另一个表,该表将带有1、2、3、4级ID和名称。 然后,当您要将其作为查询列添加时,可以通过将gname表与ID上的表连接起来来实现。
但是自sql-server 2008起,还有一个计算列https://msdn.microsoft.com/zh-cn/library/ms188300(v=sql.105).aspx
如果要制定计算列,可以更改表并将其添加。
ALTER TABLE TableName
ADD ComputedColumnName AS (CASE WHEN Grade = 1 THEN 'novice' WHEN Grade = 2 THEN 'standard'.....END)
一些程序员使用的另一种方法是不将查找放在数据库中的任何位置,而是在其应用程序层中使用枚举来处理翻译。
第一种方法是减少数据库中存储空间的需求,并且不需要更改架构/表定义即可重命名或添加其他gname。 另外,它还导致更多的数据完整性,因为我已经看到枚举将一个非常重要的电子商务站点弄乱了,并引起程序员尝试调试的许多麻烦。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.