Unix 쉘에서 sqlldr의 시퀀스 값을 반환하는 방법

Unix 쉘에서 sqlldr의 시퀀스 값을 반환하는 방법

() 열을 포함하는 test.txt 파일이 있습니다 Serialnumber,value.

테스트.txt:

"SEQ_IN_AMT.NEXTVAL",123123
"SEQ_IN_AMT.NEXTVAL",123114

SEQ_IN_AMTOracle에서 생성된 시퀀스의 이름입니다 . 이제 sqlldrunix를 통해 이 파일을 Oracle에 로드할 때 db.i다음 프로세스에서 해당 시퀀스 값을 사용할 수 있도록 해당 시퀀스의 값이 필요합니다.

P_UPDATE_VALUE (SEQ_IN_AMT.NEXTVAL,value) 

답변1

파일 형식을 변경하려면 test.txt다음을 사용하십시오 awk.

awk -F'[",]' '{printf "P_UPDATE_VALUE (%s,%s)\n",$2,$4}' test.txt

인쇄:

P_UPDATE_VALUE (SEQ_IN_AMT.NEXTVAL,123123)
P_UPDATE_VALUE (SEQ_IN_AMT.NEXTVAL,123114)
  • -F이 경우에 awk사용해야 "하는 구분 기호를 정의합니다.,
  • printf필요에 따라 출력 형식 지정
  • $2$4구분 기호를 기반으로 하는 두 개의 필드입니다 .

관련 정보