[!INFO] 책 정보
- 저자: 저자/주경호
- 번역:
- 출판사: 출판사/비팬북스
- 발행일: 2009-04-30
- origin_title: -
- 나의 평점:
- 완독일: 2019-12-03 21:09:58
(20191206_082710550.jpg)
Pro*c 오류 진단과 처리
$ORACLE_HOME/precomp/public 경고나 오류의 상태가 구조체로 구현되어 있다
SQLCA :SQL통신 영역 (필수사용 상태감지) ORACA: 오라클 통신영역(필요시 선택 사용 , 메모미,커서,캐시등 확인필요시 사용)
WHENEVER 문장을 사용하여 발생 가능한 모든 오류에 대해 동일 처리방식을 수행할 수 있음
1.SQLCA :
.프로그램 실행에 관한 정보를 데이터베이스와 교환하기 위해 사용
.예외과 경고를 감지
.#include <sqlca.h>
.또는 EXEC SQL INCLUDE SQLCA; 도 가능
.18page 구조체 및 맴버 표 캡처
.sqlca.sqlcode 1403 = No Data Found
.샘플코드
.If(sqlca.sqlcode!=0 && sqlca.sqlcode !=1403){
sqlcode = sqlca.sqlcode
message=sqlca.sqlerrm.sqlerrmc
}
(20191205_193749535.jpg)
(20191205_193753975.jpg)
(20191205_193818154.jpg)
(20191205_194105269.jpg)
(20191205_194121657.jpg)
오류처리
(20191205_194432376.jpg)
(20191205_194441835.jpg)
표지변수: 널 인지 아닌지 확인하는 변수로 사용 short 로 선언 :empno:i_empno 형식으로 사용 일반 변수가 놀인지 체크
커밋 후 연결 해제하기 exec sql commit, rollback [ work release ] exec sql savepoint (point name) exec sql rollback to (save point name) savepoint 는 롤백만 지원 함
다중 row 추출
뵨수 선어뉴에레이로 하고
sqlca.sqlerrd[2] 는 패치된 건수 정보 만큰 루프
(20191205_200630620.jpg)
중요!!!host structure 이용한 프로그램
(20191205_201303978.jpg)
(20191205_201310603.jpg)
(20191205_201316126.jpg)
에러처리 오라클 에러번호 확인하기 host>oerr ora 1405 설명나옴
변수명을 varchr로 하면 가비지 남을수 잇음 char name; 으로 char 사용하면 빈공간을 널로 채우기때문에 자연적 초기화 됨
@다이나믹 프로그래밍 sql 문을 다이나믹하게 만들어 내기
sprintf 로 변수에 sql 문 저장하면되 실행은 EXEC SQL PREPARE S FROM :변수명;
(20191205_202515933.jpg)
(20191205_202650664.jpg)
데이터변경 dml
(20191205_202800012.jpg)
(20191205_202805961.jpg)
PL/SQL호출
(20191205_202904538.jpg)
모듈화 하기
(20191206_083059914.jpg)
모듈화컴파일하기
(20191206_083107500.jpg)
(20191206_083115339.jpg)
array통한 효율화 대량 데이터 배치로 돌리기 EXEC SQL FOR :loopCnt
(20191206_082857067.jpg)