[英]Run multiple queries from 1 SQL file showing result in multiple tables
我有一組用於回歸測試的查詢。 這些基本上是存儲在不同文件中的選擇語句。
File Query
A SELECT a ...
B SELECT b ...
C SELECT c ...
這意味着我必須打開多個文件並運行查詢。 是否可以將這些 SELECT 語句放在同一個文件中,但在不同的表和/或不同的結果集中顯示結果?
我想要一個文件 D,顯示不同表中 SELECT 語句 a、b 和 c 的結果。 (最好只包含文件 A、B、C,但我當然可以復制粘貼它)。 這可能嗎? 如果可能,那么我該怎么做?
您可以將所有選擇查詢附加到一個輸出文件中。 將以下代碼放在 .bat 文件中並使用 bcp 命令。
select * from table1 >> textfile1.txt
select '================' >> textfile1.txt
select * from table2 >> textfile1.txt
select '================' >> textfile1.txt
select * from table3 >> textfile1.txt
select '================' >> textfile1.txt
將查詢復制並粘貼到一個文件中並執行以下操作是最簡單的:
create table temp_db.table_name_a as(
select * from queryATable
)with data primary index(indexes);
create table temp_db.table_name_b as(
select * from queryBTable
)with data primary index(indexes);
create table temp_db.table_name_c as(
select * from queryCTable
)with data primary index(indexes);
create table temp_db.combined_table_D as(
select fields, 'tableAResult Set' as source from temp_db.table_name_a
union all
select fields, 'tableBResult Set' as source from temp_db.table_name_b
union all
select fields, 'tableCResult Set' as source from temp_db.table_name_c
)with data primary index(indexes);
如果不知道您可以訪問哪些工具,則很難回答。
然而,獲得多個答案集的最簡單方法之一是使用 SQL 助手。
例如:在您的查詢窗口中鍵入或粘貼以下內容
SELECT * FROM dbc.DBCInfo;
SELECT * FROM dbc.DBCInfo;
SELECT * FROM dbc.DBCInfo;
在您的菜單中選擇文件 -> 導出結果
按 F5(或綠色的腳)它會提示您輸入位置和文件名,輸入您想要的位置和文件名。
然后它將保存結果如下 RELEASE,14.10.02.11 VERSION,14.10.02.12 LANGUAGE SUPPORT MODE,Standard
--------------------------------------------------------------------------------
RELEASE,14.10.02.11
VERSION,14.10.02.12
LANGUAGE SUPPORT MODE,Standard
--------------------------------------------------------------------------------
RELEASE,14.10.02.11
VERSION,14.10.02.12
LANGUAGE SUPPORT MODE,Standard
您還可以在您的選項中設置以保存每個查詢等的 sql。
希望這可以幫助。
在 SQL 開發人員中,一次運行多個查詢並在 1 個結果而不是多個選項卡中獲得結果的最簡單方法是,選擇要運行的所有查詢,而不是運行“運行語句”,運行“運行腳本”或( F5)。 這將返回如下結果:
查詢結果在這里
查詢結果在這里
如果您想要多個響應,您可以創建一個存儲過程。
使用存儲過程,您可以進行一次調用並返回多個數據集:
CREATE PROCEDURE Foo
AS
SELECT * AS Table1
SELECT * AS Table2;
SELECT * AS Table3;
GO
EXECUTE Foo;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.