inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

Oracle PL/SQL 딱 이만큼.. [개념+실전]

7-3 Explicit Cursor (명시적커서, 사용자정의커서) 질문 있습니다.

해결된 질문

268

youngseung.kim

작성한 질문수 1

1

안녕하세요.

강의를 듣는 동안 계속 실무에 적용할 방법들이 떠올라 일단 다 듣고 하려고 힘들게 꾹꾹 눌러 두고 듣고 있습니다.

꿀강의 정말 감사드립니다.

이번에 들은 7-3 에서 조금 이해가 안가거나 대략적으로 이런거 같다 하는 부분 질문 드리고 싶습니다.

 

  1. 이번 강의 중 아래와 같이 반복문 종료 체크 후 출력이 좀 의아했습니다.

     

    EXIT WHEN REC_CUR%NOTFOUND;

     

    DBMS_OUTPUT.PUT_LINE('LINE86 : ' || REC_CST_INFO.v_MOBILE);

     

    이를 반대로 출력 후 종료 체크를 하였더니 마지막 출력했던 데이터가 한번 더 출력 되던데

     

    더 이상 데이터가 없으면 CUR에 NULL이 들어가는게 아니라 마지막 ROW가 들어 있는 걸까요?

     

    (생각해 보면 NULL이 들어가도 NULLPOINTER EXCEPTION을 피하려면 종료 체크 후 작업(출력)이 맞겠네요 ㅎ)

  2. SECTION7 패키지에서 PSP_SECTION7_CURSOR 프로시져를 두 개 만들어 사용 하였는데

     

    PL/SQL 안에서 오버로딩이 되는거라고 생각하면 될까요? (매개 변수에 따라 알아서 호출)

  3. 마지막 커서를 통해서 ROW 1개의 데이터를 가져 올 때 ROWTYPE이 아니라 CUR를 통해서 가져오는 이유가 있을까요? 이부분에서 레코드를 써야 하는지 말씀하시고 WEEK TYPE CURSOR 사용을 말씀해 주셨는데.. ROW 가 하나 뿐이니 필요 없는 LOOP문을 삭제하는건 알겠으나 컬럼수만 동일하다면 별도로 수정이 필요 없는 부분 아닌가요?

sql oracle PL/SQL

답변 1

1

IT늦공 김부장

안녕하세요.
실무에 적용할 방법들이 떠오르고 있다니, 저도 기대가 됩니다.
섹션 7의 내용은 강의 난이도가 가장 높은편에 속하지만, 컬렉션까지 다 이해를 하신다면 아마 PL/SQL 의 강력함을 새삼 느끼실거라 생각합니다.

1번 질문.
- 커서는 포인터의 개념으로 해당 위치를 가리키고 있기 때문에 마지막 위치를 가리키고 있을것으로 보입니다.

2번 질문.
- 네 맞습니다. PL/SQL 에서도 오버로딩이 가능 합니다. 저는 자주 사용하지는 않지만 문법적으로 가능 합니다. (자주 사용하지 않는 이유는 프로시저나 펑션 이름만 보고 명확한 구분이 안되기 때문 입니다.)

3번 질문.
- row 1개를 가져올경우 동일 테이블이라면 말씀하신대로 rowtype 을 사용해도 가능하지만, 펑션과 프로시저등이 파라미터로 커서를 사용하게 된다면 동일하게 커서를 사용해야 하기에 예문에서는 커서를 사용하고 있습니다.

혹시 답변이 부족했다면 궁금하신 부분을 구문 위치나 소스부분 포함해서 올려주시면
제가 확인하는데 더 좋을것 같습니다.

0

youngseung.kim

3.번 질문은 7-3 가장 마지막 부분에서 설명 하신 변경 부분입니다.

좋은 강의와 답변까지 감사드립니다!

드랍 테이블로 지운 ordes에 대해서 질문

0

13

1

문제 풀이 1번 질문

0

25

1

아주 작은 정오표 전달드립니다.

0

52

2

mysql워크벤치를 실행할때마다 오류가 뜹니다. 해결 방법좀 가르켜주세요.

0

44

1

함수기반 인덱스

0

29

2

날짜 인덱스관련 질문

0

26

1

복합인덱스 확인법

0

23

0

order_product 까마귀발

0

44

2

공통 코드 , 계층 구조 질문

1

37

1

77번 문제

0

27

1

76번 문제

1

34

2

64번 문제 관련

0

37

2

DECLARE 오류

0

124

2

commit시점은 어떻게 되나요?

1

244

3

트랜잭션 처리의 주체는 누가 될 것인가 에 대해서 궁금합니다.

1

128

2

PL/SQL을 사용하면 어떤 장점이 있나요?

1

250

2

Oracle 11g에서의 association 활용

1

183

1

SQL Developer 프로그램 사용 팁 질문 드립니다.

0

651

2

11gR2 에서 REAL_ORD 테이블 생성시 DEFAULT 시퀀스 문제

0

533

2

패키지를 반드시 써야하는지?? 수정 될 경우...

1

391

2

real_ord 테이블 포렌키 에러 문의

1

355

1

real_ord 테이블 행 문의 드립니다

0

240

1

11g

0

368

1

테이블 및 컬럼 설명 관련 문의

1

393

1