ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • pivotion insert
    oracle/10장_데이터 조작어 2022. 12. 8. 15:12

    pivoting insert 명령문에서는 하나의 행을 여러개의 행으로 나누어서 입력하는 기능을 제공한다.


    예) 5개의 칼럼으로 구성된 요일별 판매실적 데이터를 하나의 칼럼으로 통합 할 수 있다.
        이때 하나의 칼럼으로 통합된 판매 데이터의 요일을 구분하기 위해 요일 구분 칼럼을 추가다. 

         unconditional insert all 명령문과 동일하지만 into 절에서 하나의 테이블만 지정할 수 있다.

     

     

    예제를 통해 자세히 알아보자

    (5개의 칼럼으로 구성된 요일별 판매 실적 데이터를 하나의 칼럼으로 통합할때 하나의 칼럼으로 통합된 판매

    데이터의 요일을 구분하기 위하여 요일 구분 칼럼을 추가하려한다)

     

    sales 테이블과 sales_data 테이블을 우선 만든다

    create table sales(
    sales_no number(4),
    week_no number(2),
    sales_mon number(7,2),
    sales_tue number(7,2),
    sales_wed number(7,2),
    sales_thu number(7,2),
    sales_fri number(7,2));
    create table sales_data (
    sales_no number(4),
    week_no number(2),
    day_no number(2),
    sales number(7,2));

     

    sales에 데이터를 담은 후 이 데이터를 참고하여 saels_data에 값을 담아보자

    insert into sales values(1101, 4, 100, 150, 80, 60, 120);
    insert into sales values(1102, 5, 300, 300, 230, 120, 150);
    select * from sales;

     

    insert all
       into sales_data values(sales_no, week_no, '1', sales_mon)
       into sales_data values(sales_no, week_no, '2', sales_tue)
       into sales_data values(sales_no, week_no, '3', sales_wed)
       into sales_data values(sales_no, week_no, '4', sales_thu)
       into sales_data values(sales_no, week_no, '5', sales_fri)
       select sales_no, week_no, sales_mon, sales_tue, sales_wed, sales_thu, sales_fri
    from sales;

     

     

    select * from sales_data
    order by sales_no;

     

    'oracle > 10장_데이터 조작어' 카테고리의 다른 글

    DATABASE - 10장 데이터 조작어 연습문제  (0) 2022.12.08
    시퀸스  (0) 2022.12.08
    데이터 조작어  (0) 2022.12.08
Designed by Tistory.