解決方案是SQL視圖,視圖用於各種不同原因:
* 1. *要隱藏數據的複雜性。與其強迫用戶學習T-SQL JOIN語法,您可能希望提供一個運行常用請求的SQL語句的視圖。
* 2. *保護數據。如果您的表格包含特定列中的敏感數據,您可能希望隱藏某些用戶組的列。例如,客戶姓名,地址和他們的社會安全號碼可能都存儲在同一個表中;但是,對於像發貨員那樣的低級別員工,您可以創建僅顯示客戶姓名和地址的視圖。您可以授予視圖權限,而不允許用戶查詢基礎表。有幾種方法可能希望保護您的數據:
a。創建一個視圖,以便只讀取表中的某些列。一個常見的例子就是員工表中的工資欄。你可能不希望所有人員都能夠閱讀經理或對方的薪水。這被稱爲垂直分區表,並通過在CREATE VIEW語句中僅指定適當的列來完成。
b。創建一個視圖,允許只讀取表中的某些行。例如,您可能有部門經理的看法。這樣,每位經理只能向其部門的員工提出提案。這被稱爲水平分區,並通過在創建視圖的SELECT語句中提供WHERE子句來完成。
* 3. *執行一些簡單的業務規則。例如,如果您希望生成需要接收秋季目錄的客戶列表,則可以創建一個客戶的視圖,這些客戶以前曾在秋季購買過襯衫。
* 4. *使用BCP導出數據。如果您使用BCP將SQL Server數據導出到文本文件中,則可以通過視圖格式化數據,因爲BCP的格式化功能非常有限。
* 5. *定製數據。如果您希望顯示一些格式不同於基本表列的計算值或列名,您可以通過創建視圖來完成。
參考文獻取自http://sqlserverpedia.com。
抱歉,但你所說的X-X-2010是什麼意思?如果是2010-06-01這裏可以看到日期<= 2010-06-01或任何東西在2010年和下降? – medina
你有什麼嘗試?這聽起來像你需要讓系統驗證SQL查詢並修改/修改where子句。如果有什麼可能需要構建像SQL選擇一樣的嚮導。 –