[SQL] 대량 삽입을 사용할 때 특정 열을 무시
SQL대량 삽입을 사용할 때 특정 열을 무시
나는 구조의 쉼표로 구분 된 텍스트 파일이
field1 field2 field3 field4
1 2 3 4
나는 텍스트 파일 삽입 일괄 다음 스크립트를 썼다, 그러나 나는 3 열을 떠나고 싶어
create table test (field1 varchar(50),field2 varchar(50),field4 varchar(50))
go
bulk insert test
from 'c:\myFilePath'
with
(fieldterminator=',',
rowterminator='\n'
)
삽입 벌금을 열심히하지만, 삽입의 결과는 입력란 4 모습 등이 만든 필드 3가 실제로 단지 입력란 4에 연결된 그래서 FIELD3, 입력란 4. 내가 함께 일하고 있어요 플랫 파일은 여러 공연하고 쉽게 수정할 수 없습니다. 사용 대량 삽입하는 방법이 있지만,이 선언되지 않은 열은 CREATE TABLE 문을 무시했다?
해결법
-
==============================
1.이 작업을 수행하는 형식의 파일을 사용할 수 있습니다 :
이 작업을 수행하는 형식의 파일을 사용할 수 있습니다 :
http://msdn.microsoft.com/en-gb/library/ms178129.aspx
http://msdn.microsoft.com/en-gb/library/ms179250.aspx
당신이 약간 cheekier 방법을 원하는 경우 또는, 그냥 모두를 가져오고 이후에 열을 놓습니다. ;)
-
==============================
2.가장 쉬운 방법은 당신이 필요로 바로 열이 뷰를 만드는 것입니다.
가장 쉬운 방법은 당신이 필요로 바로 열이 뷰를 만드는 것입니다.
이보기에 그런 대량 삽입.
예:
create table people (name varchar(20) not null, dob date null, sex char(1) null) --If you are importing only name from list of names in names.txt create view vwNames as select name from people bulk insert 'names.txt'
-
==============================
3.대신 그 일에, 대량 삽입을하는 동안 4 열을로드 ... 필드를 무시하고 당신이 원하는 그나마 열을 떨어 질수
대신 그 일에, 대량 삽입을하는 동안 4 열을로드 ... 필드를 무시하고 당신이 원하는 그나마 열을 떨어 질수
create table test (field1 varchar(50),field2 varchar(50), field3 varchar(50),field4 varchar(50)) go bulk insert test from 'c:\myFilePath' with (fieldterminator=',', rowterminator='\n' ) ALTER TABLE test DROP column [field3]
from https://stackoverflow.com/questions/14711814/ignore-certain-columns-when-using-bulk-insert by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] 어떻게 두 행을 결합와 MySQL에서 두 개의 타임 스탬프 값 사이의 시간 차이를 계산? (0) | 2020.07.08 |
---|---|
[SQL] 테이블이 몇 가지 고유 한 열이 있는지 여부를 알아내는 방법 (0) | 2020.07.08 |
[SQL] 어떻게 변경 신원 사양에 대한 표는 정체성 SQL 서버입니다 (0) | 2020.07.08 |
[SQL] MySQL의 기능을 사용하여 테이블을 반환하는 방법 (0) | 2020.07.08 |
[SQL] 주어진 데이터가 여러 테이블 (모두 같은 열이)에 존재하는지 확인하는 방법? (0) | 2020.07.08 |