2012-07-31 2 views
-3

나는 현재 =받은 편지함을 플랫 파일 colums플랫 파일에서 SQL 데이터베이스 테이블에 레코드를 삽입하는 방법은 무엇입니까?

table name=personal data 

firstname, 
lastname, 
age, 
date_of_birth, 
state, 
country 

와 SQL 테이블 이름을 SQL 테이블에 플랫 파일에서 데이터를 복사하여 로그 테이블에이 트랜잭션을 기록하는

colums= 
firstname varchar, 
lastname varchar, 
age int, 
date_of_birth date, 
state varchar, 
country varchar, 

데이터를 tyring하고 플랫 파일로 된 파일은 쉼표로 구분됩니다. firstname colum이 int 데이터 형식을 보유해서는 안되는 등 데이터 형식에 민감한 테이블을 원합니다. 그리고 데이터 형식이 잘못 경우는 = colums을 수행 모든 복사본을 추적하고 실패한

나는 또한 로그 테이블이라고 audit_rec을 갖고 싶어 보낼 편지함라는 다른 테이블에 플랫 파일을 전송해야

timecopied timespam() 
name_of_file 
failed_to_copy 
reason_of_failure 
+1

[무엇을 시도하셨습니까?] (http://whathaveyoutried.com) –

답변

0

필자가 아는 바에 따르면 플랫 파일을 가져 오는 표준 SQL 방법은 없지만 많은 SQL 구현에는 이러한 기능을 제공하는 확장이 포함되어 있습니다. 예를 들어 MySQL에는 "load data"문이 있고 Postgres에는 "copy from"이 있습니다. 사용중인 DB에 대한 설명서를 확인하고 사용할 수있는 구문과 구문을 확인해야합니다.

즉, 데이터가 올바른 유형이 아닌 경우 레코드를 다른 파일에 쓰고 싶다면 아마도 내장 된 언어 기능이 사용자를 대신하여 수행 할 것입니다. 레코드를 하나씩 읽고, 각각을 구문 분석하고, 오류를 검사 한 다음 적절한 파일에 insert 문을 수행하는 프로그램을 작성해야 할 것입니다.

관련 문제