如果我創建一個視圖並按照我希望「接收」它們的順序選擇我的字段,我可以完全確信我可以從我的應用程序中調用「從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