【发布时间】:2009-11-15 19:34:11
【问题描述】:
考虑以下事件序列:
- 定义了一个视图 v_Foo
- 定义了一个用户定义的函数 GetFoo(),其中包括来自 v_Foo 的所有列(使用 'Select * ...')
- v_Foo 的定义发生变化,现在包含更多列
- 我现在希望 GetFoo() 将新列包含在 v_Foo 中,但它仍然引用旧定义
我可以重新运行最初创建 GetFoo 的脚本,一切都会好起来的;但这是有问题的,因为我不会讨论。有没有其他方法可以刷新用户定义函数的定义,使其与其依赖对象同步?
【问题讨论】:
-
注意:我知道很多人会被“Select * ...”分心,并倾向于为此而麻烦我——请屏住呼吸。我有我的理由。
-
如果有 *,您将失去所有 SCHEMABINDING 的好东西:blogs.msdn.com/sqlprogrammability/archive/2006/05/12/…
标签: sql sql-server tsql user-defined-functions