подсчет строк в CSV-файле перед массовой вставкой, проверка не пустого файла - PullRequest
1 голос
/ 16 апреля 2020

У меня есть CSV-файл, и я пытаюсь запустить массовую вставку. Но прежде чем выполнять массовую вставку, я хочу убедиться, что в этом файле нет только строки заголовка столбца. Он должен содержать как минимум 1 строку данных.

 select count(*) from openrowset(BULK 'file.csv', SINGLE_NCLOB) output

Выше sql оператор возвращает все как 1 строку. Но я хочу общее количество строк в этом CSV-файле.

1 Ответ

0 голосов
/ 16 апреля 2020

Вы супер близки к этому, вам просто не нужно выбирать счетчик, потому что это просто говорит вам, что вы пытаетесь загрузить из 1 файла.

Вместо этого вы можете сделать следующее:

DECLARE @lengthOfFile INT
SELECT @lengthOfFile = len(content.BulkColumn) 
FROM OPENROWSET(BULK N'file.csv', SINGLE_NCLOB) AS content
IF @lengthOfFile > 0
BEGIN
    SELECT @lengthOfFile -- here you implement your bulk load 
END
...