Q&A

  • Stored Procedure사용법에 대해서
Stored Procedure를 사용하려구 하는데



책을 찾아봐도

SQL Explorer를 사용해서 작성하라고만 되어있네여

아니면 각 데이터베이스 유틸을 사용하던지...



그런데 그걸 어떻게 하는지

방법이 안나와있으니...



Stored Procedure를 사용해보신 분있으면

꼭 좀 갈켜주세여...



그럼 이만...



1  COMMENTS
  • Profile
    조민경 1999.07.02 03:19
    bisbuck 께서 말씀하시기를...

    > Stored Procedure를 사용하려구 하는데

    >

    > 책을 찾아봐도

    > SQL Explorer를 사용해서 작성하라고만 되어있네여

    > 아니면 각 데이터베이스 유틸을 사용하던지...

    >

    > 그런데 그걸 어떻게 하는지

    > 방법이 안나와있으니...

    >

    > Stored Procedure를 사용해보신 분있으면

    > 꼭 좀 갈켜주세여...

    >

    > 그럼 이만...

    >

    델파이에서는 Stored Procedure를 단지 실행할 뿐입니다.

    Store_Proc.ExecProc; // ^^;



    Stored Procedure는 말 그대로 프로시저를 데이타베이스에 저장해서

    사용하는 것입니다.



    그 예를 들면 아래의 것은 카드오류를 정정하는 코드인데,

    카드번호가 바뀌거나, 유효기간이 변경되었을 때의

    경우에 이를 정정하는 Stored Procedure입니다.

    사용하는 데이타베이스는 Oracle 7.3입니다.



    CREATE PROCEDURE CA13MMDD_PROC

    AS

    CURSOR CA13_CURSOR IS

    SELECT ROWID, PAYNO, REPLYDATE, REPLYCODE, NEWCARDNO, NEWEXPDATE

    FROM CA13MMDD WHERE FLAG = 'U';



    VAR_CA13 CA13_CURSOR%ROWTYPE;

    BEGIN

    OPEN CA13_CURSOR;

    FETCH CA13_CURSOR INTO VAR_CA13;

    LOOP

    EXIT WHEN CA13_CURSOR%NOTFOUND;

    IF VAR_CA13.REPLYCODE = '5503' THEN

    UPDATE CARD01 SET CARDNO = VAR_CA13.NEWCARDNO

    WHERE PAYNO = VAR_CA13.PAYNO;

    ELSIF VAR_CA13.REPLYCODE = '5504' THEN

    UPDATE CARD01 SET EXPDATE = VAR_CA13.NEWEXPDATE

    WHERE PAYNO = VAR_CA13.PAYNO;

    END IF;

    FETCH CA13_CURSOR INTO VAR_CA13;

    END LOOP;

    COMMIT;

    END;