Q&A

  • stored procedure사용법을 알고 싶습니다.
초짜가 부탁드립니다.



stored procedure사용법을 알고 시퍼요...



아님.. 자료구할 수 있는데를 알고 시퍼요

아래는 vtool자료입니다..

저도 구하는데로 올리겠습니다.





음...

강좌라구 거창하게 썼는데... 강좌는 아니구요...

헤헤... 죄송... 조금이라두 참고가 되시라구 올립니다.

다만 참고용으로만 사용해 주세요. 그럼...



TStoredProcedure의 사용법은 해당 DMBS의 Stored Procedure의 작성법에

있어서 약간씩 차이가 있다.

먼저 DB서버의 매뉴얼을 참고하여 Stored Procedure를 만들어 놓는다.

다음은 ORACLE에서 Stored Procedure를 만들어 본 예제...



create or replace procedure stprc_update_data

(

i_name in varchar2, -- 성명(C -> S로 넘기는 인수(in))

i_btdate in varchar2, -- 날짜(C -> S로 넘기는 인수(in))

io_flag in out varchar2 -- 실행결과(C <-> S간의 자료전달 인수(in out))

) is

cursor c1 is select a.btcode

from master a -- i_name에 해당하는 자료를 select하여 커서생성



where a.name = i_name;

begin

io_flag := '1';

if i_name is null then -- 잘못된 인수이면 실행종료

io_flag := '0'; -- 잘못된 인수임을 C(클라이언트)에 알리는 인수

return;

end if;



for a1 in c1 loop -- 커서의 where 기능

update detail b

set b.btdate = i_btdate -- 날짜를 update

where (b.name = i_name) and

(b.btcode = a1.btcode);

end loop;

end;





클라이언트 프로그램은 Date Access 탭의 StoredProc 컴포넌트로,

우선 DataBaseName를 설정하고 StoredProcName을 클릭하면 DB에 만들어져 있는

Stored Procedure 이름들이 나열되고 사용하려는 하나를 선택...

원하는 프로시저를 선택하고 파라미터(인수) 지정, 호출, return값 받기는

아래의 예와 같다....



StoredProc1.params[0].AsString := '홍길동'; {위의 i_name}

StoredProc1.params[1].AsString := '19970901'; {위의 i_btdate}

StoredProc1.ExecProc; {호출}

if StoredProc1.params[2].AsString = '0' then {위의 io_flag, return값 비교}

Showmessage('잘못된 인수임을 서버에 전달했습니다.');



그럼 참고가 되셨길...





0  COMMENTS