我想在我们的数据库中更新一个标量函数。该函数用于键表中的多个计算列,因此如果尝试更新它,则会出现依赖项错误。我可以显式删除列,更新函数并重新添加列,但是,如果没有很多多余的幻想,那将改变列顺序,并可能产生其他意想不到的后果。我想知道是否有一种更清洁的方法?
4
我通过创建调用真实函数的伪函数仅部分解决了这一问题。当然,如果签名发生更改,那么一切都将再次发生。
不幸的是,我认为没有任何“魔术”或“清洁”的方式可以做到这一点。如果需要修改功能,则需要删除列,修改功能,然后重新添加所有列。没办法解决。
—
marc_s 2012年
@marc_s好吧,值得一试,这里有很多聪明的人:)
—
robertc 2012年
同意以上评论。以为SYNONYM可能在这里提供一些帮助(在计算列中引用SYNONYM)-但是您不能更改曾经创建的同义词以将其“重定向”到另一个对象。
—
AdaTheDev 2012年
仍远没有更新CLR UDT的定义那么痛苦(即使更改只是对方法的调整而根本不影响存储表示)
—
Martin Smith