van*_*van 9 sql sql-server schema
客户声称,在查询某些数据时,应用程序(.NET)会返回与客户直接查看数据表时不同的数据.
我知道可能有各种各样的原因并且在完全不同的地方.我的目的不是在这里解决它,而是要求经验丰富的DBA和DB开发人员:
SELECT ... FOR UPDATE导致这个???在某些表中,列位置发生了变化:显然,客户为数据库使用情况分析的顾问提供了完整的数据库访问权限.当使用子句时,那个伟大的家伙改变了列的顺序,以查看表格开头的几个审计字段SELECT * ....
使用dbGhost将数据库模式与问题出现前几天进行的备份模式进行比较,并发现列位置差异.
接下来发生的事情与编程无关,但更多的是政治问题.
因此,这sp_refreshview是解决方案.我只是更进一步找到导致问题的原因.谢谢你们.
RBa*_*ung 21
是的,有点.
可能的原因:
View需要刷新或重新编译.当源列定义发生变化并且View(或它依赖的东西)使用"*"时会发生,可能会令人讨厌.调用sp_RefreshView.也可能因为它调用的视图或函数(数据源)也会发生.
View正在寻找与他们/您的想法不同的东西.他们正在查看错误的表格或视图.
View正以意想不到的方式转换数据.它运作正常,就像他们预期的那样.
View返回的数据子集不同于预期.再一次,它的工作正常,就像他们想的那样.
他们正在查看错误的数据库或使用登录/用户身份导致View更改其显示的内容.
SQL*_*ace 10
如果基础表已更改并且尚未针对视图运行sp_refreshview,则可能会出现缺少列的情况(如果已将这些列添加到表中).
要了解我的意思,请阅读如何使用sp_refreshview确保视图将使基础表发生更改
| 归档时间: |
|
| 查看次数: |
21956 次 |
| 最近记录: |