오라클에서 지원하는 DUAL 테이블 이라는 놈이 신기해서 곰곰히 생각해 보다가..
조금 정리해 봤습니다.
- DUAL테이블은 데이터 딕셔너리와 함께 Oracle에 의해 자동으로 생성되는 테이블 입니다.
- DUAL테이블은 사용자 SYS의 스키마에 있지만 모든 사용자는 DUAL이라는 이름으로 엑세스 할 수 있습니다.
- DUAL테이블은 VARCHAR2(1)으로 정의된 DUMMY라는 하나의 열이 있으며 값을 가지는 하나의 행도 포함되어 있습니다.
- DUAL테이블은 사용자가 계산이나 사용자 함수등을 실행하고자 할 경우에 유용 합니다.
SQL> DESC DUAL;
이름 널? 유형
------------------------- -------- ---------------
DUMMY VARCHAR2(1)
SQL> SELECT dummy FROM dual;
DU
--
X
몇가지 예제들..
SQL>SELECT count(*) FROM dual;
COUNT(*)
----------
1
SQL>SELECT 123456789 FROM dual;
123456789
----------
123456789
SQL>SELECT ROUND(5*(4+5)/3, 1) xx FROM dual
XX
----------
15
더 자세한 내용은 아래 링크를 참고해 보세용.. 근데 아쉽게도 영문이네용..
링크참조
조금 정리해 봤습니다.
- DUAL테이블은 데이터 딕셔너리와 함께 Oracle에 의해 자동으로 생성되는 테이블 입니다.
- DUAL테이블은 사용자 SYS의 스키마에 있지만 모든 사용자는 DUAL이라는 이름으로 엑세스 할 수 있습니다.
- DUAL테이블은 VARCHAR2(1)으로 정의된 DUMMY라는 하나의 열이 있으며 값을 가지는 하나의 행도 포함되어 있습니다.
- DUAL테이블은 사용자가 계산이나 사용자 함수등을 실행하고자 할 경우에 유용 합니다.
SQL> DESC DUAL;
이름 널? 유형
------------------------- -------- ---------------
DUMMY VARCHAR2(1)
SQL> SELECT dummy FROM dual;
DU
--
X
몇가지 예제들..
SQL>SELECT count(*) FROM dual;
COUNT(*)
----------
1
SQL>SELECT 123456789 FROM dual;
123456789
----------
123456789
SQL>SELECT ROUND(5*(4+5)/3, 1) xx FROM dual
XX
----------
15
더 자세한 내용은 아래 링크를 참고해 보세용.. 근데 아쉽게도 영문이네용..
링크참조