以文字為基礎的查詢設計工具使用者介面 (報表產生器)
使用以文字為基礎的查詢設計工具,可透過資料來源支援的查詢語言來指定查詢、執行查詢,並在設計階段檢視結果。 您可以指定多個 Transact-SQL 陳述式、自訂資料處理延伸模組的查詢或命令語法,以及指定為運算式的查詢。 以文字為基礎的查詢設計工具不會前置處理查詢,而且可以容納各種查詢語法,所以這是許多資料來源類型的預設查詢設計工具。
重要
當使用者建立與執行查詢時,可以存取資料來源。 您應該授與資料來源的最小權限,例如唯讀權限。
以文字為基礎的查詢設計工具會顯示一個工具列及以下兩個窗格:
查詢 :根據查詢類型顯示查詢文字、資料表名稱或預存程序名稱。 並非所有的資料來源類型都提供所有的查詢類型。 例如,只有資料來源類型 OLE DB 才支援資料表名稱。
結果 :顯示在設計階段執行查詢的結果。
以文字為基礎的查詢設計工具工具列
以文字為基礎的查詢設計工具為所有的命令類型提供了單一工具列。 下表列出工具列上的每一個按鈕以及該按鈕的功能。
按鈕 | 描述 |
---|---|
當成文字編輯 | 在以文字為基礎的查詢設計工具和圖形化查詢設計工具之間切換。 並非所有的資料來源類型都支援圖形化查詢設計工具。 |
匯入 | 從檔案或報表匯入現有的查詢。 只支援 sql 和 rdl 檔案類型 |
執行查詢,並將結果集顯示在 [結果] 窗格中。 | |
命令類型 | 選取 [Text]、[StoredProcedure] 或 [TableDirect]。 如果預存程序含有參數,當您按一下工具列上的 [執行] 時,便會顯示 [定義查詢參數] 對話方塊,您可以依照需要填入值。 對於命令類型的支援會依資料來源類型而有所不同。 例如,只有 OLE DB 和 ODBC 支援 [TableDirect]。 注意:如果預存程序傳回一個以上的結果集,則只會使用第一個結果集來填入資料集。 |
Text 命令類型
當您建立 SQL Server 資料集時,預設會開啟關聯式查詢設計工具。 若要切換到文字型查詢設計工具,請按一下工具列上的 [當成文字編輯] 切換按鈕。 以文字為基礎的查詢設計工具會顯示兩個窗格:[查詢] 窗格和 [結果] 窗格。 下圖會標示出各個窗格。
下表會描述各個窗格的功能。
窗格 | 函式 |
---|---|
查詢 | 顯示 Transact-SQL 查詢文字。 使用此窗格以撰寫或編輯 Transact-SQL 查詢。 |
結果 | 顯示查詢的結果。 若要執行查詢,請以滑鼠右鍵按一下任何窗格,然後按一下 [執行],或是按一下工具列上的 [執行] 按鈕。 |
範例
下列查詢會從 AdventureWorks2022
資料庫 ContactType 資料表傳回 Person 結構描述的名稱清單。
SELECT Name FROM Person.ContactType
當您按一下工具列上的 [執行] 時,[查詢] 窗格中的命令便會執行,而且結果會顯示在 [結果] 窗格中。 結果集會顯示 20 種連絡人類型的清單,例如「擁有者」或「銷售代理人」。
StoredProcedure 命令類型
當您選取 [命令類型] [StoredProcedure] 時,文字型查詢設計工具會顯示兩個窗格:[查詢] 窗格和 [結果] 窗格。 請在 [查詢] 窗格內輸入預存程序名稱,然後按一下工具列上的 [執行]。 如果預存程序使用參數,[定義查詢參數] 對話方塊隨即開啟。 為此預存程序輸入參數值。 系統將會針對每一個預存程序輸入參數建立報表參數。
下圖會在您執行預存程序時,顯示 [查詢] 和 [結果] 窗格。 在此情況下,輸入參數是常數。
下表會描述各個窗格的功能。
窗格 | 函式 |
---|---|
查詢 | 顯示預存程序的名稱以及任何輸入參數。 |
結果 | 顯示查詢的結果。 若要執行查詢,請以滑鼠右鍵按一下任何窗格,然後按一下 [執行],或是按一下工具列上的 [執行] 按鈕。 |
範例
下列查詢會呼叫 AdventureWorks2022
預存程序 uspGetWhereUsedProductID。 當您執行查詢時,必須為產品識別碼參數輸入值。
uspGetWhereUsedProductID
按一下 [執行] \( ! ) 按鈕。 提示輸入查詢參數時,請使用下表來輸入值。
參數 | 值 |
---|---|
@StartProductID | 820 |
@CheckDate | 20010115 |
對於指定的日期,結果集會顯示 13 個產品識別碼 (使用指定的元件編號) 的清單。
TableDirect 命令類型
當您選取 [命令類型] [TableDirect] 時,文字型查詢設計工具會顯示兩個窗格:[查詢] 窗格和 [結果] 窗格。 當您輸入資料表並按一下 [執行] 按鈕時,便會傳回該資料表的所有資料行。
範例
對於資料來源類型 OLE DB,下列的資料集查詢會傳回 AdventureWorks2022
資料庫中所有連絡人類型的結果集。
Person.ContactType
當您輸入資料表名稱 Person.ContactType 時,就等於建立 Transact-SQL 陳述式 SELECT * FROM Person.ContactType
。