이 글은 기계 번역의 미러 문서이며, 원본 기사로 바로 이동하려면 여기를 클릭해 주세요.

보기: 12902|회답: 1

[출처] 오라클 정상 커서, 암묵적 커서, 그리고 매개변수화된 커서

[링크 복사]
게시됨 2015. 3. 19. 오전 10:53:06 | | |
Stuinfo에서 * 선택;
--암묵적 커서
시작
    dbms_output.put_line('Before-query:'|| sql%rowcount);
    업데이트 stuinfo set stusex = '여성';
    dbms_output.put_line('쿼리 후:'|| sql%rowcount);
끝;

--명시적 커서
--1. 공통
선언
    커서 MyCur1은 Stuinfo에서 선택 * 있습니다; --커서를 정의하세요
    --v_id stuinfo.stuid%type;
    --v_name stuinfo.stuname%type;
    --v_sex stuinfo.stusex%type;
    --v_bir stuinfo.stubir%type;
    v_row stuinfo%rowtype;
시작
    MyCur1을 열고; --커서 열어
    루프
    --mycur1을 v_id,v_name,v_sex,v_bir로 가져오세요; --커서를 아래로 움직여 읽은 값을 변수에 넣습니다
    mycur1을 v_row에 가져오고; --커서 읽기
    mycur1%notfound가 되면 나가기;
    --dbms_output.put_line('id:'|| v_id||', 이름: '|| v_name||', 성별: '|| v_sex||' 생일: '|| v_bir); --출력 결과
    dbms_output.put_line('id:'|| v_row.stuid||', 이름: '|| v_row.stuname||', 성별: '|| v_row.스터섹스||' 생일: '|| v_row.stubir);
    엔드 루프;
    닫아요 mycur1; --커서 꺼
끝;

--2. 매개변수가 있는 운문
선언
    커서 MyCur1(v_sex stuinfo.stusex%type)은 stuinfo에서 * 선택하며, 여기서 stusex = v_sex; --커서를 정의하세요
    v_row stuinfo%rowtype;
시작
    MyCur1('&gender' 열기); --커서 열어
    루프
    mycur1을 v_row에 가져오고; --커서 읽기
    mycur1%notfound가 되면 나가기;
    dbms_output.put_line('id:'|| v_row.stuid||', 이름: '|| v_row.stuname||', 성별: '|| v_row.스터섹스||' 생일: '|| v_row.stubir);
    엔드 루프;
    닫아요 mycur1; --커서 꺼
끝;

--3. 원형 커서
선언
    커서 MyCur1은 Stuinfo에서 선택 * 있습니다; --커서를 정의하세요
시작
    mycur1의 v_row에 대해
    루프
        dbms_output.put_line('id:'|| v_row.stuid||', 이름: '|| v_row.stuname||', 성별: '|| v_row.스터섹스||' 생일: '|| v_row.stubir);
    엔드 루프;
끝;

--4. 커서로 데이터를 업데이트하세요
선언
    커서 MyCur1은 업데이트를 위해 stuinfo에서 *를 선택했습니다; --커서를 정의하세요
시작
    mycur1의 v_row에 대해
    루프
        만약 v_row.stuid = '003'이라면,
           stuinfo에서 삭제하세요. 현재 Mycur1;
        그렇지 않으면
           업데이트 stuinfo set stusex = 'male' 여기서 mycur1의 current;
        다음에 종료;
    엔드 루프;
끝;

Stuinfo에서 * 선택;
업데이트 stuinfo set stuseex = 'female' 여기서 stuid = '002';

--참조 커서
--1. 약한 타입
선언
    타입 curname은 ref 커서입니다; --커서 타입을 정의하세요 (curname은 타입 이름입니다)
    mycur1 curname; --
    v_sex stuinfo.stusex%type;
    v_row stuinfo%rowtype;
    v_row2 subinfo%rowtype;
시작
    v_sex := '그리고 성별';
    만약 v_sex = '남성'이라면,
       mycur1을 열어 stuinfo에서 * 를 선택하고, 여기서 stusex = 'male';
        루프
        mycur1을 v_row에 가져오고; --커서 읽기
        mycur1%notfound가 되면 나가기;
        dbms_output.put_line('id:'|| v_row.stuid||', 이름: '|| v_row.stuname||', 성별: '|| v_row.스터섹스||' 생일: '|| v_row.stubir);
        엔드 루프;
    그렇지 않으면
       mycur1을 열어 서브정보에서 * 선택하세요;
       루프
        mycur1을 v_row2에 가져오고; --커서 읽기
        mycur1%notfound가 되면 나가기;
        엔드 루프;
    다음에 종료;
    닫아요 mycur1; --커서 꺼
끝;
서브정보에서 * 선택;

--강한 타입
선언
    타입 curname은 ref 커서 반환 stuinfo%rowtype;
    mycur1 curname;
    v_sex stuinfo.stusex%type;
    v_row stuinfo%rowtype;
시작
    v_sex := '그리고 성별';
    만약 v_sex = '남성'이라면,
       mycur1을 열어 stuinfo에서 * 를 선택하고, 여기서 stusex = 'male';
    그렇지 않으면
       mycur1을 열어 stuinfo에서 * 선택하고, 여기서 stusex = 'female';
    다음에 종료;

    루프
        mycur1을 v_row에 가져오고; --커서 읽기
        mycur1%notfound가 되면 나가기;
        dbms_output.put_line('id:'|| v_row.stuid||', 이름: '|| v_row.stuname||', 성별: '|| v_row.스터섹스||' 생일: '|| v_row.stubir);
    엔드 루프;
    닫아요 mycur1; --커서 꺼
끝;







이전의:"부와 체스 게임" - 사랑, 직장, 대학원 입시의 내부 이야기를 드러냅니다
다음:php5.2.17은 설치 시 cgi.force_redirect 값을 1에서 0으로 변경해야 합니다
게시됨 2015. 3. 19. 오전 11:21:08 |
따로 해놔 lesson6.rar (920 Bytes, 다운로드 횟수: 0)
면책 조항:
Code Farmer Network에서 발행하는 모든 소프트웨어, 프로그래밍 자료 또는 기사는 학습 및 연구 목적으로만 사용됩니다; 위 내용은 상업적 또는 불법적인 목적으로 사용되지 않으며, 그렇지 않으면 모든 책임이 사용자에게 부담됩니다. 이 사이트의 정보는 인터넷에서 가져온 것이며, 저작권 분쟁은 이 사이트와는 관련이 없습니다. 위 내용은 다운로드 후 24시간 이내에 컴퓨터에서 완전히 삭제해야 합니다. 프로그램이 마음에 드신다면, 진짜 소프트웨어를 지원하고, 등록을 구매하며, 더 나은 진짜 서비스를 받아주세요. 침해가 있을 경우 이메일로 연락해 주시기 바랍니다.

Mail To:help@itsvse.com