[MS-SQL] INSERT 스크립트 생성하기
페이지 정보
작성자 서방님 댓글 0건 조회 164회 작성일 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';
첨부파일
- sp_genInsertStmt.sql (5.5K) 2회 다운로드 | DATE : 2011-09-26 16:16:37
- sp_print.sql (1.7K) 2회 다운로드 | DATE : 2011-09-26 16:16:41
댓글목록
등록된 댓글이 없습니다.