반응형
  1. /**********************************************************************************************
    -- Title : [2k] BCP 사용 예 및 서식파일 사용 예
    -- Reference : dBRang.com
    -- Key word : bcp 서식파일
    **********************************************************************************************/
    사용자 삽입 이미지

    /***************
    -- BCP 사용 예
    ***************/

    drop table cbulk

    select * into cbulk from charge

    update cbulk
    set charge_code = case when member_no % 2 = 0 then 'KR'
                                           else 'US'
                                   end

    insert cbulk
    select member_no, provider_no, category_no, charge_dt
         , charge_amt, statement_no, charge_code
    from cbulk

    create unique clustered index cx on cBulk (charge_no)
    create index ix on cBulk (member_no)
    create index ix2 on cBulk (charge_dt)

    -- bcp out
    /*
    C:\>bcp "credit..cbulk" out "c:\c1.txt" -c -T

    C:\>bcp "credit..cbulk" out "c:\c2.txt" -c -q -S"mapbaksrv" -U"sa" -P"password"

    C:\>bcp "credit..cbulk" out "c:\c3.txt" -c -t"||" -r"\r\n" -T

    C:\>bcp "credit..cbulk" out "c:\c4.txt" -c -t"||" -r"\r\n" -T -h "TABLOCK"

    C:\>bcp "select top 100 * from credit.dbo.cbulk" queryout "c:\c4.txt" -c -T
    */

    drop table cbulk2

    select * into cbulk2 from cbulk
    where 1 = 2

    select * from cbulk2
    truncate table cbulk2

    -- bcp in
    /*
    C:\>bcp "credit..cbulk2" in "c:\c1.txt" -c -T

    C:\>bcp "credit..cbulk2" in "c:\c2.txt" -c -q -S"mapbaksrv" -U"sa" -P"password"

    C:\>bcp "credit..cbulk2" in "c:\c3.txt" -c -t"||" -r"\r\n" -T
    */
     

    /************************
    -- BCP 서식파일 사용 예
    ************************/

    drop table fmt_bcp
    drop table fmt_bcp2

    create table fmt_bcp
    ( a_col char(2)
    , b_col int
    , c_col varchar(10)
    )

    insert into fmt_bcp values('aa',11,'aaaa')
    insert into fmt_bcp values('bb',22,'bbbbbbbbb')
    insert into fmt_bcp values('cc',33,'ccc')
    insert into fmt_bcp values('dd',44,'dddddd')
    insert into fmt_bcp values('ee',55,'eeeeeeee')
    insert into fmt_bcp values('ff',66,'fffff')
    insert into fmt_bcp values('gg',77,'gggg')
    insert into fmt_bcp values('hh',88,'hhhhhhhhh')
    insert into fmt_bcp values('ii',99,'iiiii')

    select * into fmt_bcp2
    from fmt_bcp
    where 1 = 2

    -- 서식 파일 생성
    /*
    C:\>bcp "credit..fmt_bcp" out "c:\a.txt"
    암호:

    a_col 필드의 파일 저장소 유형 입력[char]:
    a_col 필드의 접두사 길이 입력[0]:
    a_col 필드의 길이 입력[2]:
    필드 종료 문자 입력[none]: \t

    b_col 필드의 파일 저장소 유형 입력[int-null]:
    b_col 필드의 접두사 길이 입력[1]:
    필드 종료 문자 입력[none]: \t

    c_col 필드의 파일 저장소 유형 입력[char]:
    c_col 필드의 접두사 길이 입력[0]:
    c_col 필드의 길이 입력[10]:
    필드 종료 문자 입력[none]: \n

    이 서식 정보를 파일에 저장하시겠습니까? [Y/n] y
    호스트 파일 이름 [bcp.fmt]: bcp.fmt

    복사를 시작하는 중...

    9개 행이 복사되었습니다.
    네트워크 패킷 크기(바이트): 4096
    클럭 시간(ms.): 총     10
    */

    -- 서식 파일 사용한 bcp out
    /*
    bcp "credit..fmt_bcp" out "c:\a.txt" -f"c:\bcp.fmt" -T
    */

    -- 확인
    select * from fmt_bcp2
반응형

+ Recent posts