Procedure
-
Oracle - ObecjtDB/Oracle 2019. 1. 9. 09:52
Oracle Obecjt 타입은 객체지향에서 사용되는 클래스 개념과 같다. 구조체의 특성을 그대로 물려받고 함수까지 사용할 수 있다. - Object 생성 단순한 데이터 타입 뿐만 아니라 멤버함수까지 선언할 수 있다. 함수를 선언하긴 했는데, 이를 실제로 수행하는 로직을 구현해야 한다. CREATE OR REPLACE TYPE BODY 구문을 통해 생성할 수 있다. - ( 패키지의 BOD와 같은 개념이라고 이해할 수 있다. ) - Function 구현부 - dept_typ를 사용하는 테이블을 생성한다. * 오라클에서는 Object 타입 선언시 생성자를 굳이 명시하지 않더라도 타입 객체가 생성되면 오라클 내부에 생성자가 저장딘다. 그리고 생성자 함수의 명칭은 다른 객체지향 언어들에서처럼 클래스 이름, 즉 ..
-
Oracle - DBMS_JOB 패키지 + DBMS_SCHEDULERDB/Oracle 2019. 1. 8. 17:30
오라클에서는 DBMS_JOB라는 패키지를 제공하고 있다. 특정 시간에 특정 작업을 할수 있도록 이용하는 프로시저이다. * SUBMIT 프로시저 - 일정 시간에 실행될 작업을 등록한다. - 프로시저를 수행하면 작업 큐에 등록되어 지정된 시간에 작업이 실행된다. * RUN 프로시저 - 스케줄에 상관없이 특정 작업을 실행시킨다. * REMOVE 프로시저 - 작업 큐에 등록된 작업들을 제거한다. * INTERVAL 프로시저 - 작업이 수행되는 시간간격을 조정한다. - interval 프로시저 파라미터에는 날짜와 같은 스케줄 파라미터가 올 수 있다. - 'sysdate+7' : 일주일에 한번 실행, 'next_day(sysdate, "TUESDAY") : 화요일마다 한번씩 실행, 'null' : 한번만 실행 - ..
-
Create ProcedureDB/Oracle 2019. 1. 8. 15:29
프로시저는 함수와 달리 특정 처리를 수행한다. 데이터를 조회함을 넘어서 조작을 할 수 있다. 신입사원 등록시저를 통한 프로시저 생성 예 ) PL/SQL에서는 마지막에 /을 입력 해서 생성한다. 성, 이름, 이메일, 직원번호를 입력받으면 테이블에 insert시키는 작업을 수행하는 프로시저이다. 프로시저를 수행할 때는 exec나 execute 프로시저명 ( 파라미터.. ); 로 사용할 수 있다. 프로시저 수행 후 select를 통해 데이터가 들어갔는지 확인할 수 있다. begin에서 프로시저 본문처리를 통해, insert가 아닌 update-set이나 select문도 가능하다. begin 처리문에서 commit, rollback의 트랜잭션 처리를 잘해야한다.