반응형

오라클에서 "create table XXXXX as select" 를 이용해 편리하게 

select 한 데이터에 해당하는 테이블을 만들 수 있다.

 

하지만 아래 처럼 select 컬럼 중에 null이나 '' 처럼 빈값으로 채워야 할때가 있는데

CRATE TABLE "SAMPLE" AS
SELECT ''   AS 빈값 컬럼1
     , NULL AS 빈값 컬럼2
  FROM DUAL;

"zero-length columns are not allowed" 오류가 난다.

 

오라클에서 테이블을 자동생성하면서 컬럼 사이즈를 자동으로 책정하는데 저렇게 하면 사이즈를 0으로 잡아버려서 발생하는 에러이다. 이럴 경우 CAST 함수를 통해 사이즈를 지정해서 해결할 수 있다.

 

CRATE TABLE "SAMPLE" AS
SELECT CAST('' AS VARCHAR2(10))   AS 빈값 컬럼1
     , CASE(NULL AS NUMBER)       AS 빈값 컬럼2
  FROM DUAL;
반응형

+ Recent posts