2016-07-02 2 views
0

Я пытаюсь экспортировать файл .txt с БКП:BCP добавить строку в конец файла

EXEC xp_CMDSHELL 'BCP "SELECT v.ItemId 
    , v.InventLocationId 
    , CAST(v.AvailPhysical AS int) 
FROM D_R1.dbo.vwStockOnHand AS v 
JOIN D_R1.DBO.vwProducts AS m 
ON v.ItemId = m.ITEMID 
WHERE NOT EXISTS 
    (SELECT 1 
     FROM D_R1.DBO.ExportExcludedFamilies AS magExport 
     WHERE magExport.REFRECID = m.FamilyRecId) 
     AND AVAILPHYSICAL > 0 AND v.PICKFROMZ = 1 
     ORDER BY v.InventLocationId, v.ITEMID" 
     queryout "C:\temp\1.txt" -c -t"|" -T -S D_R1' 

Все хорошо, но я нуждался бы в последнюю строку в файле, как «конец файла» и я не могу это понять.

Может кто-нибудь дать мне подсказку?

+0

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

ответ

1

1) Первое решение

SELECT CONVERT(VARCHAR(11), v.ItemId) AS ItemId 
    , v.InventLocationId 
    , CAST(v.AvailPhysical AS int) 
    , 1 AS Priority 
FROM ... 

UNION ALL 

SELECT 'End of export file', NULL, NULL, 2 AS Priority 

ORDER BY Priority, InventLocationId, ItemID 

или

SELECT... ; 
SELECT 'End of report' ; 

или

SELECT... ; 
PRINT 'End of report' ; 

2) Второе решение

bcp "the same SQL query", ... 
echo End of export 

echo command