如果我创建一个视图并按照我希望“接收”它们的顺序选择我的字段,我可以完全确信我可以从我的应用程序中调用“从myView中选择*”,而不是再次指定所有字段名我的选择查询?我可以依靠sql视图中的字段顺序吗?
我问这个,因为我将整个数据行传递给我的DataModel,并通过将属性分配给连接到此数据行的itemarray中的不同索引来构造对象。如果这些字段出现乱码,我就不知道我的对象会发生什么。
我知道我不能依赖于一个视图内部的命令(在此之前被烧过)。但我不确定的领域顺序。
对不起,如果这是sql noob级别。我们都从这个地方开始。现在,我的应用程序代码中的所有无关字段名称都使可读性有点困难,所以如果我可以安全地返回并用*替换很多语法,那么这将非常棒。
这些表格很小,所以我不担心在单个字段上使用*的含义。我只是想不编码不必要的语法。
我通常会手动指定列名,除非我只是在SQL提示符下运行快速一次性查询。它让我知道(和SQL引擎知道)我的期望 - 也就是说,它增加了“契约”的明确性,并允许更快速地生成更有意义的错误。附加信息也可以用于修剪记录大小,从而节省传输成本等。如果“可读性”是一个问题,也许你还没有解决一个舒适的可读方式来编写SQL,否则阻碍了你的方式环境希望你表达查询。 – 2010-11-09 21:09:56
+1 @pst - 优秀的答案。 – 2010-11-10 12:10:26
我想也许我还没有解决一个舒适的方式来写我的SQL查询。当查询调用40个字段并跨越2行以上时,它很难在非宽屏显示器上阅读。在我的部门。我们保持“精益”的观点,或者至少尝试。视图中只包含必要的内容。如果您需要更多的信息,那么可能会有更多的数据(例如:每日统计数据与每小时统计数据)。这通常保持行#可接受,但有时会有一个荒谬的#字段。 – TWood 2010-11-10 15:31:30