计算列中使用的标量函数,更新函数的最干净方法是什么?

rob*_*rtc 10 sql-server-2005 sql-server-2008 functions

我想更新我们数据库中的标量函数。此函数用于键表中的多个计算列,因此如果我尝试更新它,则会出现依赖项错误。我可以显式删除列,更新函数并重新添加列,但是,无需过多关注,这将更改列顺序并可能产生其他意想不到的后果。我想知道是否有更清洁的方法?

JNK*_*JNK 2

这可能需要更多工作,但它应该(大约)得到您想要的:

1 - 创建一个新表,其中仅包含主表中的 PK 和更新后的函数。

2 - 删除旧的专栏

3 - 将旧表重命名为类似的名称TableName_Base

4 - 创建一个VIEW将主表连接到查找表的表,其中字段按照您希望查看的顺序排列。无论您的原始表名称是什么,都可以为视图命名。

这可能会产生一些问题INSERTSUPDATES因为您将通过视图进行访问。要解决这个问题,您可以绕过视图直接插入表中。