■ THE 의사 함수 : 중첩 테이블 컬럼 데이터 삭제하기

------------------------------------------------------------------------------------------------------------------------

-- 색상 중첩 테이블 타입을 생성한다.

CREATE TYPE COLOR_TABLE_TYPE IS TABLE OF VARCHAR2(30);

 

-- 색상 모델 테이블을 생성한다.

CREATE TABLE COLOR_MODEL

(

    MODEL_TYPE       VARCHAR2(10)

   ,NAME_COLOR_TABLE COLOR_TABLE_TYPE

)

NESTED TABLE NAME_COLOR_TABLE STORE AS NAME_COLOR;

 

-- 색상 모델 테이블에 데이터를 추가한다.

INSERT INTO COLOR_MODEL VALUES ('RGB', COLOR_TABLE_TYPE('RED', 'GREEN', 'BLUE'));

 

-- 모델 타입이 'BLUE'인 레코드의 명칭 색상 중첩 테이블 컬럼에서 'BLUE'인 데이터를 삭제한다.

DELETE THE(SELECT NAME_COLOR_TABLE FROM COLOR_MODEL WHERE MODEL_TYPE = 'RGB')

WHERE  COLUMN_VALUE = 'BLUE';

 

SELECT COLUMN_VALUE FROM THE(SELECT NAME_COLOR_TABLE FROM COLOR_MODEL WHERE MODEL_TYPE = 'RGB');

 

/*

RED

GREEN

*/

------------------------------------------------------------------------------------------------------------------------

Posted by 사용자 icodebroker
TAG

댓글을 달아 주세요