Oracle Store Procedure 를 사용하게 되어서, 처음으로 SP를 사용해 보았다. 아래는 아주 간단한 예제.. 예제를 쉽게 만들어서 이해 하기 아주 쉬울꺼라고 생각한다.. 좀더 응용적인건 계속 추가 예정..
create table MEMBER( id varchar2(12) primary key, name varchar2(10) not null )
insert into MEMBER values('taesuz', '조태수');
create or replace procedure hello_proc( in_id IN VARCHAR2, out_name OUT VARCHAR2 ) is begin select name INTO out_name from MEMBER where id=in_id; dbms_output.put_line( out_name );
EXCEPTION WHEN NO_DATA_FOUND THEN out_name:='NO_DATA_FOUND'; end hello_proc;
실행:
VARIABLE name varchar2(10); execute hello_proc('taesuz', :name); print name;
ROWNUM은 쿼리내에서 사용 가능한 가상컬럼입니다. ROWNUM에는 숫자 1,2,3,4,...N의 값이 할당됩니다. 여기서 N은 ROWNUM과 함께 사용하는 로우의 수를 의미합니다. ROWNUM의 값은 ROW에 영구적으로 할당되지 않습니다. 테이블의 로우는 숫자와 연계되어 참조될 수 없습니다. 따라서 테이블에서 "ROW 5"를 요청할 수 있는 방법은 없습니다.
ROWNUM 값은 쿼리의 조건절이 처리되고 한 이후, 그리고 SORT, AGGREGATION 수행되기 이전에 할당됩니다.