Есть ли способ определить конкретную запись, которая вызывает ошибку во время экспорта с помощью команды BCP - PullRequest
0 голосов
/ 20 апреля 2020

У меня есть процедура sql, которая экспортирует все записи из одной из моих таблиц в выходной файл CSV. Я сделал это с помощью команды BCP. Ниже приведен пример кода:

SET @v_fileText = 'SELECT ID,FORENAME,MIDDLENAME,SURNAME,DATEOFBIRTH FROM USER_DETAILS'

SET @v_bcpcmd = 'BCP "' + @v_fileText + '" QUERYOUT "' +
                         @v_directory + '\' + @v_filename + '" -S -m0 -t"," -T -c'

EXECUTE @v_filewrite_error = MASTER..XP_CMDSHELL @v_bcpcmd, NO_OUTPUT

Предположим, что USER_DETAILS имеет 10 записей, 8 из которых были успешно извлечены в выходной файл.

В этой таблице есть еще один столбец с именем status. Ожидается, что записи, которые успешно экспортированы, будут иметь значение «ВЫПОЛНЕНО» в столбце состояния, а для ошибочных записей - «ПОЛУЧИТЬ».

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

...