Я немного застреваю ... Я пытаюсь извлечь результат из запроса и разбить его на многочисленные файлы по одному критерию. Я получаю сообщение об ошибке преобразования типа varchar в int, и я не могу понять, почему. Работа в SQL Server 2008 ...ВЫВОД НА МНОЖЕСТВЕННЫЕ ФАЙЛЫ ОТ ОДИНОЧНОГО QUERY
DECLARE @LOOP AS INT;
DECLARE @SQL AS VARCHAR(MAX);
DECLARE @BCP AS VARCHAR(MAX);
DECLARE @COUNTER AS INT;
DECLARE @FILENAME AS VARCHAR(MAX);
SET @COUNTER='1'
SELECT @LOOP = COUNT(DISTINCT LIST_ID) FROM DATA_TABLE
WHERE STATUS='2' AND LIST_ID IS NOT NULL ;
SET @SQL=(SELECT CUSTOMER_NO FROM CUSTOMER A, DATA_TABLE B
WHERE A.CUSTOMER_ID=B.CUSTOMER_ID AND A.STATUS='2' AND LIST_ID='[email protected]+');
SET @FILENAME='QUERYOUT C:\Projects\FILE_"'[email protected]+'.TXT'
WHILE @COUNTER<[email protected]
BEGIN
SELECT
@BCP='BCP "'[email protected]+'+'[email protected]+''
SET @[email protected]+1
END
GO
ошибки я получаю:
Msg 245, Level 16, State 1, Line 10
Conversion failed when converting the varchar value '[email protected]+' to data type int.
Я пытаюсь использовать значение LOOP, дайте мне знать содержимое каждого файла. Например, LOOP = '1' будет означать, что файл содержит записи клиентов, ассоциированные с LIST_ID = '1'
Мысли об ошибке?
SET @ FILENAME = 'QUERYOUT C: \ Projects \ FILE_ "' + CAST (@LOOP AS VARCHAR) + '. TXT' – DMason