簡體   English   中英

從 1 個 SQL 文件運行多個查詢,顯示多個表中的結果

[英]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;

MSDN 存儲過程

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM