[MS-SQL] INSERT 스크립트 생성하기 > db

본문 바로가기

db

[MS-SQL] INSERT 스크립트 생성하기

페이지 정보

작성자 서방님 댓글 0건 조회 31회 작성일 11-09-26 16:16

본문

테이블 내용을 읽어 INSERT문을 생성해 주는 스크립트는 거의 누구나 가지고 있으리라 생각합니다.

저도 누군가의 스크립트를 가지고 있는데... 버그가 좀 있습니다.

그래서 오늘 하나 만들어 봤습니다..
master.sys.fn_varbintohexstr 함수를 사용해 봤는데 꽤 유용하네요.

하지만, 저도 완벽하게는 못 만들겠더군요. 다음과 같은 제한 사항이 있습니다.

- SQL 2005와 SQL 2008에서 사용할 수 있습니다.
- 사용자 정의 형식, hierarchyid 형식은 지원하지 않습니다.
- float와 real 형식은 데이터가 손상 될 수 있습니다.
- binary, varbinary, image는 3998 byte까지만 지원합니다.


소스는 아래 박스를 참고하세요.

 



p.s
해당 SP의 두번째 파라미터로 WHERE절을 입력할 수 있습니다.
특정 조건을 만족하는 레코드만 추출하여 스크립트를 생성할 때 사용하면 됩니다.

예)

EXEC sp_genInsertStmt N'TableName', N'WHERE userID = 27';



현재 DB컨텍스트의 모든 테이블에 대해 INSERT 스크립트를 생성하고 싶을 때는 이렇게 실행하면 됩니다.

EXEC sp_MSForEachTable 'EXEC sp_genInsertStmt N''?''';

 

-- 전체 테이블의 insert 스크립트 생성
exec sp_msforeachtable 'exec sp_geninsertstmt N''?''';

 

-- 해당 테이블만 추출
exec sp_geninsertstmt N'테이블명'

-- 해당 테이블의 where 절 만
exec sp_geninsertstmt N'테이블명', N'where idx>10000';

첨부파일

댓글목록

등록된 댓글이 없습니다.

Total 447건 1 페이지
게시물 검색

회원로그인

접속자집계

오늘
138
어제
365
최대
592
전체
40,112

그누보드5
Copyright © seobangnim.com All rights reserved.
자바스크립트를 활성화 하세요![ 브라우저에서 자바스크립트를 활성화하는 방법 ]