使用以文字為基礎的查詢設計工具,使用數據源支援的查詢語言指定查詢、執行查詢,並在設計時間檢視結果。 您可以為自定義數據處理延伸模組指定多個 Transact-SQL 語句、查詢或命令語法,以及指定為表達式的查詢。 由於文字型查詢設計工具不會預先處理查詢,而且可以容納任何類型的查詢語法,因此這是許多數據源類型的預設查詢設計工具。
這很重要
使用者在建立和執行查詢時存取數據源。 您應該授與數據源的最小許可權,例如唯讀許可權。
以文字為基礎的查詢設計工具會顯示工具列和下列兩個窗格:
查詢 根據查詢類型,顯示查詢文字、數據表名稱或預存程式名稱。 並非所有查詢類型都適用於所有數據源類型。 例如,只有數據源類型 OLE DB 才支持資料表名稱。
結果 顯示設計時間執行查詢的結果。
以文字為基礎的查詢設計工具列
以文字為基礎的查詢設計工具會為所有命令類型提供單一工具列。 下表列出工具列上每個按鈕及其功能。
| 按鈕 | 說明 |
|---|---|
| 以文字編輯 | 切換文字型查詢設計工具與圖形化查詢設計工具。 並非所有數據源類型都支援圖形化查詢設計工具。 |
| 匯入 | 從檔案或報表匯入現有的查詢。 僅支援 sql 和 rdl 檔案類型 |
|
|
執行查詢,並在 [結果] 窗格中顯示結果集。 |
| 命令類型 | 選取 [文字]、 [StoredProcedure] 或 [TableDirect]。 如果預存程式具有參數,當您按兩下工具列上的 [執行] 時,會出現 [定義查詢參數] 對話方塊,而且您可以視需要填入值。 注意:如果預存程式傳回多個結果集,則只會使用第一個結果集來填入數據集。 |
命令類型文字
當您建立 SQL Server 數據集時,關係型查詢設計工具預設會開啟。 若要切換至以文字為基礎的查詢設計工具,請按下工具列上的 [ 編輯為文字] 切換按鈕。 以文字為基礎的查詢設計工具會顯示兩個窗格:[查詢] 窗格和 [結果] 窗格。 下列圖示會標記每個窗格。
下表描述各窗格的功能。
| 面板 | 功能 |
|---|---|
| 查詢 | 顯示 Transact-SQL 查詢內容。 使用此窗格來撰寫或編輯 Transact-SQL 查詢。 |
| 結果 | 顯示查詢的結果。 若要執行查詢,請在任何窗格中按下滑鼠右鍵,然後按下 [ 執行],或按兩下工具列上的 [ 執行 ] 按鈕。 |
範例
下列查詢會從 AdventureWorks20122008 資料庫的 ContactType 資料表中返回 Person 架構的姓氏清單。
SELECT Name FROM Person.ContactType
當您按下工具列上的 [ 執行] 時, [查詢 ] 窗格中的命令會執行,結果會顯示在 [結果 ] 窗格中。 結果集顯示 20 種類型的聯繫人清單,例如所有者或銷售代理人。
命令類型 StoredProcedure
當您選取 [命令類型][StoredProcedure] 時,文字型查詢設計工具會顯示兩個窗格:[查詢] 窗格和 [結果] 窗格。 在 [查詢] 窗格中輸入預存程式名稱,然後按下工具列上的 [ 執行 ]。 如果預存程式使用參數,[ 定義查詢參數 ] 對話框隨即開啟。 輸入預存程序的參數值。 系統會為每個預存程式輸入參數建立報表參數。
下圖顯示當您執行預存程式時的 [查詢] 和 [結果] 窗格。 在此情況下,輸入參數是常數。
下表描述各窗格的功能。
| 面板 | 功能 |
|---|---|
| 查詢 | 顯示預存程式和任何輸入參數的名稱。 |
| 結果 | 顯示查詢的結果。 若要執行查詢,請在任何窗格中按下滑鼠右鍵,然後按下 [ 執行],或按兩下工具列上的 [ 執行 ] 按鈕。 |
範例
下列查詢會呼叫 AdventureWorks20122008 預存程式 uspGetWhereUsedProductID。 當您執行查詢時,必須輸入產品標識元參數的值。
uspGetWhereUsedProductID
按兩下 [執行][!] 按鈕。 當系統提示您輸入查詢參數時,請使用下表來輸入值。
| @StartProductID | 820 |
| @CheckDate | 20010115 |
針對指定的日期,結果集會顯示使用指定元件編號的13個產品識別符清單。
命令類型 TableDirect
當您選取 [命令類型][TableDirect] 時,文字型查詢設計工具會顯示兩個窗格:[查詢] 窗格和 [結果] 窗格。 當您輸入數據表並按兩下 [ 執行 ] 按鈕時,會傳回該數據表的所有數據行。
範例
對於數據源類型 OLE DB,下列數據集查詢會針對 AdventureWorks20122008 資料庫中的所有聯繫人類型傳回結果集。
Person.ContactType
當您輸入資料表名稱 Person.ContactType 時,相當於建立 Transact-SQL 語句 SELECT * FROM Person.ContactType。