본문 바로가기

Oracle PL/SQL 강좌 3.2.4. PL/SQL Table of Record PL/SQL TABLE변수 선언과 비슷하며 데이터타입을 %ROWTYPE으로 선언하면 된다. PL/SQL TABLE과 RECORD의 복합 기능을 한다.PL/SQL Table Of Record 문법 -- 선언 예제 TYPE dept_table_type IS TABLE OF dept%ROWTYPE INDEX BY BINARY_INTEGER; -- Each element of dept_table is a record dept_table dept_table_type; -- 아래 프로시저에서 사용된 예제를 보면 이해가 쉽게 갈 것이다. PL/SQL Table Of Record 예제 CREATE OR REPLACE PROCEDURE Table_Test IS i BINARY_INTEGER := 0; -- PL/SQL .. 더보기
Oracle PL/SQL 강좌 3.2.3. PL/SQL 레코드 PL/SQL레코드는 여러개의 데이터 타입을 갖는 변수들의 집합이다. 스칼라, RECORD, 또는 PL/SQL TABLE datatype중 하나 이상의 요소로 구성 된다. 논리적 단위로서 필드 집합을 처리할 수 있도록 해 준다. PL/SQL 테이블과 다르게 개별 필드의 이름을 부여할 수 있고, 선언시 초기화가 가능하다.PL/SQL 레코드 문법 및 선언예제 -- 선언 예제 TYPE record_test IS RECORD ( record_empno NUMBER, record_ename VARCHAR2(30), record_sal NUMBER); -- record_test 레코드 타입으로 prd_record변수를 선언해서 사용 prd_record record_test; -- 아래 프로시저에서 사용된 예제를 보면.. 더보기
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,.. 더보기