Вставьте записи одну за другой - PullRequest
0 голосов
/ 12 октября 2019

У меня есть три таблицы ниже. Я хочу вставить записи в файл CSV по контракту. Есть три таблицы с различным количеством столбцов. Контракт имеет 5 столбцов, член имеет 3 столбца, а QTY имеет 2 столбца. Я должен вставить записи по контракту, чтобы вывод в файле CSV выглядел так, как показано ниже.

select * from #contracts_master where ContractNumber='PCCCA7859'
select * from #Member_full where ContractNumber='PCCCA7859'
select * from #QTY where ContractNumber='PCCCA7859'

Вывод

Contract_Master_Record,Contract_1,Contract Pharmacy 3,11/1/2019,11/31/2019
Member_full_Record,Member_333,Rite_Aid
QTY_Record,Product_111

Как создать выдержку csv, в которую я вставляю одну запись, например, такую?

Можно ли использовать BCP?

1 Ответ

0 голосов
/ 12 октября 2019

Вы можете экспортировать таблицу в CSV, используя BCP, как это

bcp database_name.table_name out "c:\location\to\file.csv" -c -t, -T -S server_name

Вы можете экспортировать результаты запроса, как этот

bcp "select col1, col2 database_name.table_name" queryout "c:\location\to\file.csv" -c -t, -T -S server_name

Я думаю, что вы имеете в видукогда вы говорите, что строка за строкой может быть ссылкой для добавления данных в файл по мере его появления? скажи, если ты выполняешь запрос по расписанию?

BCP не имеет добавления, но вы можете сделать что-то вроде этого

bcp database_name.table_name out "c:\location\to\temp_file.csv" -c -t, -T -S server_name && type c:\location\to\temp_file.csv >> c:\location\to\final_file.csv 

см. http://mvark.blogspot.com/2009/09/appending-to-file-with-bcp.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...