본문 바로가기

SQL/Oracle

[Oracle] 프로시저 예제

728x90

tb_member(회원테이블)에 매개변수를 전달하여 회원가입 시키는 프로시저 작성
(단, 시퀀스를 사용하여 mem_idx를 증가)

회원테이블 생성 페이지

시퀀스 생성

create sequence seq_member
    increment by 1
    start with 6; -- 만들어놓은 테이블에 5개의 데이터 존재
select seq_member.nextval from dual;

프로시저 생성

create or replace procedure proc_member_join (
    mem_userid in varchar2,
    mem_userpw in varchar2,
    mem_name in varchar2,
    mem_gender in varchar2,
    mem_email in varchar2,
    mem_hp in varchar2,
    mem_zipcode in varchar2,
    mem_address1 in varchar2,
    mem_address2 in varchar2,
    mem_address3 in varchar2
)
is
begin
    insert into tb_member(mem_idx, mem_userid, mem_userpw, mem_name, mem_gender, mem_email, mem_hp, mem_zipcode, mem_address1, mem_address2, mem_address3) values 
    (seq_member.nextval, mem_userid, mem_userpw, mem_name, mem_gender, mem_email, mem_hp, mem_zipcode, mem_address1, mem_address2, mem_address3);    
end proc_member_join;

 

데이터 삽입

exec proc_member_join('avocado', '6666', '안가도', '남자', 'avocado@avocado.com','010-6666-6666', '12345', '서울시', '서초구', '양재동');

 

테이블 조회

select * from tb_member order by mem_idx;

 

728x90

'SQL > Oracle' 카테고리의 다른 글

[Oracle] 커서(cursor)  (0) 2022.06.16
[Oracle] 트랜젝션(transaction)  (0) 2022.06.16
[Oracle] 프로시저(procedure)  (0) 2022.06.16
[Oracle] 예외 처리(Exception)  (0) 2022.06.16
[Oracle] 반복문  (0) 2022.06.16