Arhn - архитектура программирования

Выполнение нескольких запросов из 1 файла SQL с отображением результатов в нескольких таблицах

У меня есть набор запросов для регрессионного тестирования. Это в основном операторы выбора, хранящиеся в разных файлах.

File  Query
A      SELECT a ...
B      SELECT b ...
C      SELECT c ...

Это означает, что мне нужно открыть несколько файлов и выполнить запросы. Можно ли поместить эти операторы SELECT в один и тот же файл, но показать результаты в разных таблицах и/или в разных наборах результатов?

Я хочу иметь файл D, показывающий результат операторов SELECT a, b и c в разных таблицах. (Было бы предпочтительнее просто включить файлы A, B, C, но я, конечно, могу скопировать и вставить их). Это возможно? Если это возможно, то как мне это сделать?

27.05.2015

Ответы:


1

Вы можете просто добавить все выбранные запросы в один выходной файл. Поместите приведенный ниже код в файл .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
27.05.2015

2

Было бы проще скопировать и вставить запросы в один файл и сделать что-то вроде:

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);
27.05.2015
  • Он говорит, что в базе данных больше нет места, хотя я создаю только одну строку. Я предполагаю, что это означает, что мне не разрешено ничего создавать. Есть ли способ сделать это без использования таблицы создания? 27.05.2015
  • вы можете использовать изменчивую таблицу вместо просто таблицы. Однако удалите индекс и замените его данными без первичного индекса при сохранении строк фиксации;. Если вы не можете создавать какие-либо типы таблиц, вы должны попросить администратора базы данных предоставить вам больше доступа. 27.05.2015
  • в качестве альтернативы вы можете просто запустить код в последнем запросе в приведенном выше примере. Начиная с полей выбора и заканчивая table_name_c. Однако это может быть очень грязно, если запросы длинные. 27.05.2015

  • 3

    не зная, к каким инструментам у вас есть доступ, на это сложно ответить.

    Однако одним из самых простых способов получить несколько наборов ответов является использование SQL Assistant.

    например: в окне запроса введите или вставьте следующее

    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
    

    Вы также можете установить параметры для сохранения sql с каждым запросом и т. д.

    надеюсь это поможет.

    27.05.2015

    4

    В SQL Developer самый простой способ запустить несколько запросов одновременно и получить результаты в 1 результате вместо нескольких вкладок — выбрать все запросы, которые вы хотите запустить, и вместо запуска оператора запуска запустить сценарий запуска или (F5). Это вернет результаты примерно так:


    Результат запроса здесь


    Результат запроса здесь


    12.12.2019

    5

    Если вам нужны несколько ответов, вы можете создать хранимую процедуру.

    С помощью хранимой процедуры вы можете сделать один вызов, и он вернет несколько наборов данных:

    CREATE PROCEDURE Foo     
    AS   
        SELECT * AS Table1
        SELECT * AS Table2;
        SELECT * AS Table3;
    GO
    
    EXECUTE Foo;
    

    хранимая процедура MSDN

    12.12.2019
    Новые материалы

    Коллекции публикаций по глубокому обучению
    Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..

    Представляем: Pepita
    Фреймворк JavaScript с открытым исходным кодом Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..

    Советы по коду Laravel #2
    1-) Найти // You can specify the columns you need // in when you use the find method on a model User::find(‘id’, [‘email’,’name’]); // You can increment or decrement // a field in..

    Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
    Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv) Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..

    3 способа решить квадратное уравнение (3-й мой любимый) -
    1. Методом факторизации — 2. Используя квадратичную формулу — 3. Заполнив квадрат — Давайте поймем это, решив это простое уравнение: Мы пытаемся сделать LHS,..

    Создание VR-миров с A-Frame
    Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..

    Демистификация рекурсии
    КОДЕКС Демистификация рекурсии Упрощенная концепция ошеломляющей О чем весь этот шум? Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..