数据库里没有数据表,为何也能查询?

遇到的问题

       项目中用到两个数据库(SQL),一个是数据库名是Chis_Database,一个数据库名是Cis_Database。在SQL的对象资源管理里,在Chis_Database下的表分类里,有一张名为zd_charge_item的数据表,在Cis_Database下的表分类里,没有名为zd_charge_item的这么一张数据表。

       在Chis_Database下,我们可以执行如下查询,

 1 SELECT * FROM zd_charge_item

也有查询结果,这是正常的,对吧。

      但是,在Cis_Database下,我们执行如下查询:

1 SELECT * FROM zd_charge_item

同样,也有查询结果。这就让人非常费解了,数据库里没有数据表,也能查询出结果。

问题的原因

      在Cis_Database下,zd_charge_item,实际上是一个视图,视图!!

在视图的分类下,就找到了zd_charge_item。

收获的经验

      项目实践中,命名一定要规范化,如果这张表是视图,取表名的时候,一定加上view,比如上述,表名取为view_zd_charge_item。

鸣谢

为什么一个MSSQL数据库,明明企业管理器里面看不到那个表,而查询的时候 却能查到呢?

感谢hiphoper这张帖子,让我恍然大悟!

posted @ 2022-06-14 16:37  美人她爹  阅读(716)  评论(0编辑  收藏  举报