나는 조금 붙어 있습니다 ... 나는 쿼리의 결과를 하나의 기준에 따라 여러 파일로 나누려고합니다. varchar 형식을 int로 변환하는 중 오류가 발생하며 이유를 파악할 수 없습니다. ... SQL Server 2008의단일 쿼리에서 여러 파일로 출력
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 = '1'은 LIST_ID = '1'과 연관된 고객 레코드가 파일에 있음을 의미합니다.
오류가 발생 했습니까?
SET @ FILENAME = 'QUERYOUT C : \ Projects \ FILE_ "'+ CAST (@LOOP AS VARCHAR) + 'TXT' – DMason