더북(TheBook)

쿼리 11-1을 실행해 보세요. 다음 메시지와 함께 테이블이 만들어질 것입니다.

\ 실행 결과 /

Table SUBWAY_DML_TEST이(가) 생성되었습니다.
 
Table SUBWAY_DML_TEST이(가) 변경되었습니다.

 

쿼리 11-1은 ‘CREATE TABLE subway_dml_test’ 다음에 AS를 붙이고 SELECT 문장을 결합한 형태인데요. 이렇게 하면 SELECT 절에서 조회된 결과 형태로 자동으로 테이블이 만들어짐과 동시에 데이터까지 복사됩니다. 하지만 여기서는 ‘WHERE ROWNUM < 1’이란 조건 때문에 데이터는 하나도 만들어지지 않습니다. ROWNUM이란 오라클에서만 사용할 수 있는 의사컬럼으로 SELECT 문장에서 반환되는 로우 수를 나타냅니다. 따라서 ROWNUM < 1이란 의미는 1건도 반환하지 말라는 것이죠. 만약 ‘ROWNUM < 2’ 혹은 ‘ROWNUM = 1’로 바꿔 실행하면 1건의 데이터만 복사됩니다.

CREATE TABLE AS 구문으로 테이블을 생성하면 일일이 컬럼 정의를 명시하지 않아도 된다는 장점이 있습니다. 단점은 인덱스나 기본 키는 만들 수 없다는 점입니다. 따라서 ALTER TABLE 문장을 사용해 기본 키를 생성했습니다. 기본 키 혹은 컬럼을 추가하거나 컬럼 정의 내용을 변경, 컬럼을 삭제할 때도 ALTER TABLE 문장을 사용합니다. 쿼리 11-1에서 ALTER TABLE 문장을 실행하면 “Table SUBWAY_DML_TEST이(가) 변경되었습니다.”라는 메시지가 나옵니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.