抱歉再次打扰你。哈哈:)
我正在查看类似问题的答案,但它们仍然没有太大帮助。
这是我的理由:
我想更改表格中的架构以自动填充一列。
据我所知,更新功能仅适用于值,并且在将来输入新值时不适用。
我希望能够根据等级设置Gname,以便我可以拥有。所以我可以有1个新手或新手,2个用于标准,3个中级和4个专家。
有人可以帮忙吗?或指导我找到正确的文件。
谢谢大家
答案 0 :(得分:3)
通常可以通过使用查找表来完成。
因此,您将拥有自己的表格,然后为Gname添加另一个表格,该表格将带有等级Id 1,2,3,4和名称。然后,当您想将其作为列添加到查询中时,您可以通过将您的gname表与ID上的表一起加入。
但是,由于sql-server 2008还有一个计算列https://msdn.microsoft.com/en-us/library/ms188300(v=sql.105).aspx
如果你想制定计算列,你可以改变你的表并添加它。
ALTER TABLE TableName
ADD ComputedColumnName AS (CASE WHEN Grade = 1 THEN 'novice' WHEN Grade = 2 THEN 'standard'.....END)
一些程序员使用的另一种方法是不将查找放在数据库中的任何位置,而是在其应用程序层中使用枚举来处理翻译。
第一种方法是减少数据库中存储空间的需求,并且不需要更改架构/表定义来重命名或添加其他gnames。此外,它还会带来更多的数据完整性,因为我看到枚举会破坏一个非常重要的电子商务网站,并导致程序员在尝试调试时遇到很多麻烦。