加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

如何在SQL Server中设置一个简单的计算字段?

发布时间:2020-12-12 16:16:06 所属栏目:MsSql教程 来源:网络整理
导读:我有一个表,有几个帐户字段,如下所示: MAIN_ACCTGROUP_ACCTSUB_ACCT 我经常需要这样组合: SELECT MAIN_ACCT+'-'+GROUP_ACCT+'-'+SUB_ACCTFROM ACCOUNT_TABLE 我想要一个自动执行此操作的计算字段,所以我可以说: SELECT ACCT_NUMBER FROM ACCOUNT_TABLE 这
我有一个表,有几个帐户字段,如下所示:
MAIN_ACCT
GROUP_ACCT
SUB_ACCT

我经常需要这样组合:

SELECT MAIN_ACCT+'-'+GROUP_ACCT+'-'+SUB_ACCT
FROM ACCOUNT_TABLE

我想要一个自动执行此操作的计算字段,所以我可以说:

SELECT ACCT_NUMBER FROM ACCOUNT_TABLE

这样做最好的方法是什么?

我正在使用SQL Server 2005.

解决方法

ALTER TABLE ACCOUNT_TABLE 
ADD ACCT_NUMBER AS MAIN_ACCT+'-'+GROUP_ACCT+'-'+SUB_ACCT PERSISTED

这将持续一个计算列,并且如果您有大量记录,则可以在视图或UDF中的计算中执行更好的选择(一旦初始创建列,可能会很慢,并且应该在低使用时间期间发生) ).它将减慢插入和更新.通常我发现一个缓慢的插入或更新被用户所容忍,而不是延迟选择,除非你遇到锁定问题.

这样做的最佳方法将取决于您的使用情况以及您需要的性能.如果您没有很多记录,或者计算列不会频繁调用,则可能不需要持久化的列,但是如果您经常运行具有该年度的所有记录或其他大量记录的报告数据,您可能会发现持续计算的列对您而言更好.与任何这种性质的任务一样,在你的情况下知道最有效的唯一方法是测试.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读