database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
ㆍOracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
Oracle Q&A 41553 게시물 읽기
No. 41553
대량 update시 실패
작성자
MOON
작성일
2018-04-18 10:33
조회수
5,796

안녕하세요 

대량의 update 진행시 완료가 되지 않는 증상이 있어 문의드립니다.(약 400만건)

해당 쿼리는 A라는 빈컬럼에 B의 값을 udf 가공하여 update 하는 작업을 하고 있고.

가공을 할때는 아래와 같은 udf를 이용하고 있습니다.

평문이 들어가기 때문에 dec 함수에서 에러가 발생하여 실패 로그가 기록은 되고 있고

exception 처리 때문에 enc 함수를 수행 해야 되는데 작업이 끝나고 확인하면 완료가 되지 않습니다.

일단dbms_output을 이용하여 어느까지 정상적으로 진행 됬는지 확인해 보려고 작업을 돌려 보고 있습니다.

 

 

create function enc_chk(p_svcgv in varchar2, p_str in varchar) return varchar2;

 

is

v_crypto_yn varchar2(1) :='';

v_out varchar2(4000):='';

begin

 

begin

 

v_out:=DEC(p_str)

v_out:=p_str;

DBMS_OUTPUT.PUT_LINE('Error Already Enc Value : '|| v_out); --암호화 실패시 값 확인

 

exception

when others then

DBMS_OUTPUT.PUT_LINE('Enc Before : '|| p_str); --암호화 전 값

v_out:= ENC(p_str)

DBMS_OUTPUT.PUT_LINE('Success Enc : '|| v_out); --암호화 후 값

end;

return v_out;

end;

 

이 글에 대한 댓글이 총 2건 있습니다.

 함수 안에 보면 

 

v_out:=DEC(p_str)

v_out:=p_str 

 

이런 부분이 있는데 결과 적으로 위의 구문은 

 

v_out 에 p_str 이 들어 갈꺼 같은데요

 

윤명식(jazzlian)님이 2018-04-23 17:06에 작성한 댓글입니다.

답변 감사합니다.

제가 테스트 했을때는 400만 넣고 해당 함수를 돌려도 

정상적으로 업데이트가 되긴하네요. 

MOON님이 2018-05-03 09:36에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
41558년도가 넘어가는 주차의 계산이 안돼네요 [1]
MSSQL
2018-04-26
5733
41557랜덤 업데이트 문의드립니다. [3]
서준용
2018-04-24
5677
41556쿼리 질문 드립니다. [1]
chokm
2018-04-24
5677
41553대량 update시 실패 [2]
MOON
2018-04-18
5796
41552쿼리 질문드립니다. [2]
이승용
2018-04-17
5670
41551쿼리 질문 드립니다. [4]
왕초보
2018-04-16
5528
41549다수의 FK포함된 테이블생성 [1]
Newbie
2018-04-14
5354
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.017초, 이곳 서비스는
	PostgreSQL v16.4로 자료를 관리합니다