【发布时间】:2010-11-09 21:00:03
【问题描述】:
如果我创建一个视图并按照我想要“接收”它们的顺序选择我的字段,我可以完全确定我可以从我的应用程序中调用“Select * from myView”,而不是再次指定所有字段名在我的选择查询中?
我问这个是因为我将整个数据行传递给我的 DataModel,并通过将属性分配给附加到该数据行的 itemarray 中的不同索引来构造对象。如果这些字段出现故障,我的对象可能会发生什么情况。
我知道我不能依赖一个存在于视图中的订单(之前在这个视图上被烧毁了)。但是我不确定字段的顺序。
对不起,如果这是 sql noob 级别。我们都从某个地方开始。现在,我的应用程序代码中所有无关的字段名称都使可读性变得有些困难,所以如果我可以安全地返回并用 * 替换很多语法,那就太好了。
这些表很小,所以我不担心在单个字段上使用 * 的影响。我只是希望不要编写不必要的语法。
【问题讨论】:
-
我通常手动指定列名,除非我只是在 SQL 提示符下运行快速一次性查询。它让我知道(并且 SQL 引擎知道)我的期望——也就是说,它增加了“合同”的明确性,并允许更快地生成更有意义的错误。额外的信息也可以用来减少记录的大小,从而节省传输成本等。如果“可读性”是一个问题,也许你还没有适应一种舒适的可读方式来编写 SQL,或者因为你的方式受到了阻碍。环境希望您表达查询。
-
我想也许我还没有适应一种舒适的方式来编写我的 sql 查询。当您的查询调用 40 多个字段并跨越 2 行以上时,在非宽屏显示器上很难阅读。在我的部门。我们保持“精益”观点,或者至少尝试这样做。视图中仅包含必要的内容。如果您在视图中需要更多信息,那么可能还有另一个可以提供更广泛的数据(即:每日统计数据与每小时统计数据)。这通常使第 # 行可以接受,但有时会有荒谬的 # 字段。
标签: sql