오라클의 프로시저(Procedure)는 일련의 작업들을 하나로 묶어서 모듈화한 후 필요할 때 마다 호출하여 사용할 수 있는 기능이다. 함수(Function)와 비슷해 보이지만 프로시저는 리턴 값이 없다. (C언어의 void 함수와 비슷) 그러나 프로시저에서 레퍼런스 변수를 사용하면 결과 값을 리턴할 수 있다. 프로시저 생성 예시 부서코드 UPDATE 프로시저 (단순 작업 수행) CREATE OR REPLACE PROCEDURE pc_update_deptno ( p_job IN VARCHAR2, p_deptno IN VARCHAR2 ) IS BEGIN UPDATE emp SET deptno = p_deptno WHERE job = p_job; EXCEPTION WHEN OTHERS THEN ROLLBACK..
쿼리(Query)문을 작성하다 보면 오라클에서 제공하는 함수만으로 작성 시 쿼리문이 복잡해 지거나 불가능한 경우도 있다.오라클에서 제공한는 JAVA SOURCE 기능을 사용하면 Java 클래스 생성, 실행이 가능하다. 이 기능을 사용하면 일반 어플리케이션에서 가능한 많은 기능들을 PL/SQL에서 할 수 있을 것이다. 자바(Java) 클래스 생성 자바(Java) 클래스 내부함수 호출을 하는 오라클 함수 생성 1. 자바(Java) 클래스를 생성한다. /* JAVA Class를 생성한다 */CREATE OR REPLACE and RESOLVE JAVA SOURCE NAMED "HelloWorld" AS /*파일명*/ import java.lang.*; import java.io.*; public class H..
PL/SQL(Procedure, Package)을 사용하다 보면 동적으로 쿼리(Query)를 생성하거나 텍스트(text) 쿼리를 입력 받아서 실행해야하는 경우가 있다. 다음 두가지 방법을 적절히 사용하면 좋은 결과를 얻을수 있다. EXECUTE IMMEDIATE : Inset, Update, Delete 구문을 실행하거나 Select 구문을 실행 시 INTO를 사용하여 단일 값을 리턴 받을 때 사용 OPEN-FOR : Select 구문을 실행 시 Cursor를 리턴 받을 때 사용 주의 : 바인드 변수(:) 사용 시 쿼리 내부에서 변수명은 의미가 없고 변수 순서, 개수가 USING의 변수 순서, 개수와 일치해야 한다. 바인드 변수가 없다면 USING는 생략가능. 1. EXECUTE IMMEDIATE (IN..