학교 데이터베이스 과제로 은행 시스템을 구현해보는 것을 하고 있습니다. <div><br></div> <div>입금을 할 때, 해당 계좌 마지막 거래에서 (거래 번호는 시퀀스로 생성했고, 시간적인 순서와 일치한다고 가정) 잔액을 가져온 후</div> <div><br></div> <div>입금 금액과 마지막 거래 잔액을 더하여, 잔액을 계산하는 프로시저를 작성했습니다.</div> <div><br></div> <div><div>create or replace </div> <div>PROCEDURE DEPOSIT(</div> <div> accnum in number, //계좌번호</div> <div> money in number, //입금액</div> <div> br in number, //거래 지점</div> <div> memo in varchar2 //메모</div> <div>)</div> <div>IS</div> <div> maxid number;</div> <div> acc number;</div> <div>BEGIN //해당 계좌에서 마지막 거래 번호를 가져옴</div> <div> SELECT max(ID) into maxid</div> <div> FROM BANK_ACCOUNT</div> <div> WHERE ACCOUNT_NUMBER = accnum</div> <div> GROUP BY ACCOUNT_NUMBER;</div> <div> </div> <div> SELECT ACCUMULATE into acc //마지막 거래 번호에 저장된 잔액을 가져옴</div> <div> FROM BANK_ACCOUNT </div> <div> WHERE ID = maxid AND ACCOUNT_NUMBER = accnum;</div> <div> </div> <div> EXCEPTION</div> <div> WHEN NO_DATA_FOUND THEN //위에서 발견된 데이터가 없으면</div> <div> INSERT INTO <span style="font-size:9pt;line-height:1.5;">BANK_ACCOUNT</span><span style="font-size:9pt;line-height:1.5;"> //</span><span style="font-size:9pt;line-height:1.5;">은행 거래 테이블에</span><span style="font-size:9pt;line-height:1.5;"> </span><span style="font-size:9pt;line-height:1.5;">잔액과 입금액에 입금액으로 저장</span></div> <div> (</div> <div> ACCOUNT_NUMBER,</div> <div> MONEY,</div> <div> BRANCH_ID,</div> <div> ACCOUNT_TYPE,</div> <div> BALANCE,</div> <div> NOTE</div> <div> )</div> <div> VALUES(</div> <div> accnum,</div> <div> money,</div> <div> br,</div> <div> 0,</div> <div> money,</div> <div> memo</div> <div> );</div> <div> COMMIT;</div> <div> WHEN OTHERS THEN </div> <div> <div> INSERT INTO <span style="font-size:9pt;line-height:1.5;">BANK_ACCOUNT</span><span style="font-size:9pt;line-height:1.5;"> </span></div> <div> (</div> <div> ACCOUNT_NUMBER,</div> <div> MONEY,</div> <div> BRANCH_ID,</div> <div> ACCOUNT_TYPE,</div> <div> BALANCE,</div> <div> NOTE</div> <div> )</div></div> <div> VALUES(</div> <div> accnum,</div> <div> money,</div> <div> br,</div> <div> 0,</div> <div> acc + money,<span class="Apple-tab-span" style="white-space:pre;"> </span><span style="font-size:9pt;line-height:1.5;">//마지막 거래 잔액과 입금액을 더하여 잔액에 저장</span></div> <div> memo</div> <div> );</div> <div> COMMIT;</div> <div>END;</div></div> <div><br></div> <div>PHP서버와 연동해서 오라클에 접근하고 있습니다.</div> <div><br></div> <div>SQL Developer 프로그램이나 SQL PLUS로 쓰거나 서버를 이용해서 호출을 해봤는데</div> <div><br></div> <div>세 가지 방법 모두 될 때도 있고, 안될 때도 있네요.</div> <div><br></div> <div>뭐가 문제인지 도저히 모르겠습니다.</div>
댓글 분란 또는 분쟁 때문에 전체 댓글이 블라인드 처리되었습니다.