Nic*_*ick 5 sql sql-server sql-server-2005
我是一个使用函数的新手,在我看来,内联函数与视图非常相似.我对么?
另外,我可以在函数中使用UPDATE语句吗?
Cad*_*oux 16
在阅读了这里的许多答案之后,我想指出一个内联表值函数和任何其他类型的函数(标量或多行TVF)之间存在很大差异.
内联TVF只是一个参数化视图.它可以像视图一样进行扩展和优化.在"返回结果"或类似之前不需要实现任何内容(尽管不幸的是,语法有一个RETURN
.
我发现内联TVF对视图的一个很大的好处是它确实强制了所需的参数化,而对于视图,你必须假设调用者将适当地加入或限制视图的使用.
例如,我们在DW中有许多大型事实表,其中包含典型的Kimball星型模型.我有一个以事实为中心的模型的视图,它没有任何限制地调用,将返回数亿行.通过使用具有适当参数化的内联TVF,用户无法意外地询问所有行.两者之间的表现在很大程度上难以区分.
And*_*mer -1
一个函数执行一个任务或多个任务。视图通过查询检索数据。适合该查询的内容也是您所受到的限制。在函数中,我可以更新、选择、创建表变量、删除一些数据、发送电子邮件、与我创建的 CLR 交互等。比低级视图强大得多!
归档时间: |
|
查看次数: |
9967 次 |
最近记录: |