패키지.프로시저(함수명) 에 관해서 질문있습니다! 0 5 1,060

by 자바 [PL/SQL] 패키지 프로시저 함수 [2017.05.17 14:56:34]


예시 패키지명 ex_pac, 예시 프로시저 ex_proc 로 구성된 패키지입니다.

ex_pac.ex_proc() 로 호출하고 exception 발생한 경우에 로그파일로 

저장하는 과정에서 궁금한게 있습니다.

로그파일에는 시간, 프로그램명, 에러메시지가 들어가는데요,

시간과 에러메시지는 무난하게 해결할 수 있습니다.

sysdate, sqlerrm 을 사용하면요.

문제는 프로그램명인데, ex_pac.ex_proc 라는 이름이 들어가야 한다고 생각하고 있습니다.

자바 jdbc로 넘겨줄때는 stacktraceelement 사용해서 현재 클래스명 넘겼었습니다.

pl-sql 사용하면서도 자바에서처럼 호출한?? 이름이 들어가도록 하고싶은데, 해결 방법이나 방향 제시해주시면 감사하겠습니다.

 

 

 

by 마농 [2017.05.17 15:27:04]

그냥 따옴표로 해서 문자 그대로 입력하면 되는 것 아닌지요?


by 자바 [2017.05.17 15:34:56]

각각의 에러로그 저장하는 곳에서 '프로그램명'으로 저장하고 있었습니다. 다만 차후에 활용성이 낮아질거 같아서 사용한 패키지의 프로시저 혹은 함수명이 자동으로 들어갈수 있게 하고싶어서요..


by 마농 [2017.05.17 16:13:28]

1. 패키지 선언부에서 사용할 명칭 변수 하나 선언하고
2. 각 프로시져의 선언부에서 해당 변수에 각각의 프로시져명을 지정하고
3. 예외부에서 해당 변수를 사용하면 될 듯.
이렇게 하면 1,3번 쪽은 변동이 없고 2번 부분만 신경쓰면 될 듯.


by 자바 [2017.05.17 16:25:39]

시도해보겠습니다. 답변 감사합니다. 마농님!

 


by 자바 [2017.05.17 16:42:08]

예외처리 구문에서 에러 저장할때 직접 지정해주지 않고 변수로 넣어버리니까 확실히 보기는 편하네요.

혹시 변수에 패키지명.프로시저명을 직접 입력해주지 않고 실행시에 패키지명.프로시저명이 지정된 변수로 입력되는 무언가? 는 없을까요..하하하...

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입