IT/Oracle 27

오라클 계층형 쿼리와 ROWNUM

SELECT * FROM ORCL_BRD_RPL START WITH BRD_PNO = 0 -- 시작형 CONNECT BY PRIOR BRD_NO = BRD_PNO -- 연결 ORDER SIBLINGS BY BRD_NO DESC; -- 정렬순서 *계층형 쿼리 SELECT * FROM ORCL_BRD_RPL START WITH BRD_PNO = 0 -- 시작형 CONNECT BY PRIOR BRD_NO = BRD_PNO -- 연결 ORDER SIBLINGS BY BRD_NO DESC; -- 정렬순서 *ROWNUM으로 순번 부여 및 ROWNUM 조건 사용 SELECT * FROM ( SELECT ROWNUM AS RNUM, E.* FROM (SELECT * FROM EMP ORDER BY ENAME ASC) ..

IT/Oracle 2018.07.23

오라클 PL/SQL insert, update, delete, merge 예제

-- pl_test 테이블 생성 create table pl_test (no number, name varchar2(10)); -- pl_seq 시퀀스 생성 create sequence pl_seq; -- pl_test에 값을 insert하는 pl/sql문 begin insert into pl_test values(pl_seq.nextval,'bbb'); end; SET VERIFY off; -- 사용자값을 입력 받기 전의 pl/sql문과 -- 입력받은 값을 대입한 후의 pl/sql문을 출력창에 표출할지 여부-- off 이므로 출력하지 않는다 -- pl_test2 테이블 생성 create table pl_test2( no number, name varchar2(10), addr varchar2(10));..

IT/Oracle 2018.07.19

오라클 PL/SQL

SET serveroutput ON; -- 화면에 결과값 출력 여부 DECLARE v_deptno dept.deptno%TYPE; -- dept테이블의 deptno와 같은 타입의 변수를 만들겠다는 의미 v_loc dept.loc%TYPE; BEGIN select deptno, loc into v_deptno, v_loc from dept where deptno = 40; DBMS_OUTPUT.PUT_LINE(v_deptno||' '||v_loc); -- 출력창에 출력, ||는 문자열 더하는 연결연산자 END; -- id 값을 입력 받아 pl/sql문 실행 DECLARE v_deptno dept.deptno%TYPE; v_loc dept.loc%TYPE; BEGIN select deptno, loc int..

IT/Oracle 2018.07.19