본문 바로가기

IT/오라클

Oracle PL/SQL 강좌 3.2.2. PL/SQL 테이블 PL/SQL 에서의 테이블은 오라클 SQL에서의 테이블과는 다르다. PL/SQL에서의 테이블은 일종의 일차원 배열이라고 생각하면 이해하기 쉬울것이다. 테이블은 크기에 제한이 없으면 그 ROW의 수는 데이터가 들어옴에 따라 자동 증가 한다. BINARY_INTEGER 타입의 인덱스 번호로 순서가 정해진다. 하나의 테이블에 한 개의 컬럼 데이터를 저장 한다.PL/SQL 테이블 문법 및 선언예제 -- 선언 예제 TYPE prdname_table IS TABLE OF VARCHAR2(30) INDEX BY BINARY_INTEGER; -- prdname_table 테이블타입으로 prdname_tab변수를 선언해서 사용 prdname_tab prdname_table -- 아래 프로시저에서 사용된 예제를 보면 이해.. 더보기
Oracle PL/SQL 강좌 3.2.1. %ROWTYPE 하나 이상의 데이터값을 갖는 데이터 타입으로 배열과 비슷한 역할을 하고 재사용이 가능하다. %ROWTYPE 데이터 형과, PL/SQL테이블과 레코드는 복합 데이터 타입에 속한다.%ROWTYPE 테이블이나 뷰 내부의 컬럼 데이터형, 크기, 속석등을 그대로 사용 할 수 있다. %ROWTYPE 앞에 오는 것은 데이터베이스 테이블 이름이다. 지정된 테이블의 구조와 동일한 구조를 갖는 변수를 선언 할 수 있다. 데이터베이스 컬럼들의 수나 DATATYPE을 알지 못할 때 편리 하다. 테이블의 데이터 컬럼의 DATATYPE이 변경 될 경우 프로그램을 재수정할 필요가 없다.%ROWTYPE 예제 SQL>CREATE OR REPLACE PROCEDURE RowType_Test ( p_empno IN emp.empno%TY.. 더보기
Oracle PL/SQL 강좌 3.1. 스칼라 데이터 타입 칼라 데이터타입에는 일반 단일 데이터타입의 변수와 %TYPE 데이터형 변수가 있다.일반변수 선언 문법- Identifier(변수)의 이름은 sql의 object명과 동일한 규칙을 따른다.- Identifier를 상수로 지정하고 싶은 경우는 CONSTANT라는 KEYWORD를 명시하고 반드시 초기값을 할당 한다.- NOT NULL이 정의되어 있으면 초기값을 반드시 지정하고, 정의되어 있지 않을 때는 생략 가능하다.- 초기값은 할당 연산자(:=)를 사용하여 정의 한다.- 초기값을 정의하지 않으면 Identifier는 NULL값을 가지게 된다.- 일반적으로 한 줄에 한 개의 Identifier를 정의 한다.일반변수 선언 예제 -- 숫자형 상수 선언(변할 수 없다) v_price CONTANT NUMBER(4,.. 더보기
Oracle PL/SQL 강좌 2.2. 함수(FUNCTION) 함수(Function)란? 보통 값을 계산하고 결과 값을 반환하기 위해서 함수를 많이 사용 한다. 대부분 구성이 프로시저와 유사 하지만 IN 파라미터만 사용 할 수 있다. 반드시 반환 될 값의 데이터 타입을 RETURN문에 선언해야 한다. 또한 PL/SQL블록 내에서 RETURN문을 통해서 반드시 값을 반환해야 한다.함수 문법 -- PL/SQL 블록에는 적어도 한 개의 RETURN 문이 있어야 한다. -- PL/SQL Block은 함수가 수행 할 내용을 정의한 몸체부분이다. CREATE OR REPLACE FUNCTION function name [(argument...)] RETURN datatype -- datatype은 반환되는 값의 datatype입니다. IS [변수 선언 부분] BEGIN [PL.. 더보기
Oracle PL/SQL 강좌 2.1. 프로시저(PROCEDURE) 프로시저(Procedure)란? 특정 작업을 수행 하는, 이름이 있는 PL/SQL BLOCK 이다. 매개 변수를 받을 수 있고, 반복적으로 사용 할 수 있는 BLOCK 이다. 보통 연속 실행 또는 구현이 복잡한 트랜잭션을 수행하는 PL/SQL BLOCK을 데이터베이스에 저장하기 위해 생성 한다.프로시저 문법 CREATE OR REPLACE procedure name IN argument OUT argument IN OUT argument IS [변수의 선언] BEGIN --> 필수 [PL/SQL Block] -- SQL문장, PL/SQL제어 문장 [EXCEPTION] --> 선택 -- error가 발생할 때 수행하는 문장 END; --> 필수 - CREATE OR REPLACE 구문을 사용하여 생성 한다.. 더보기