테이블의 관리

테이블 컬럼의 관리

테이블의 컬럼은 ADD, MODIFY, DROP연산자를 통해서 관리 할 수 있습니다.

ADD 연산자

테이블에 새로운 컬럼을 추가 할 때 사용 한다.

 
-- VARCHAR2의 데이터 형을 가지는 addr 컬럼을 emp 테이블에 추가
SQL> ALTER TABLE emp ADD (addr VARCHAR2(50));
MODIFY 연산자

테이블의 컬럼을 수정 하거나 NOT NULL컬럼으로 변경 할 수 있으며, 컬럼이 이미 테이터를 가지고 있을 경우 다른 데이터형으로 변경이 불가능 하다.

 
-- ename 컬럼을 VARCHAR2 50자리로 수정한 예제.
SQL> ALTER TABLE emp MODIFY (ename VARCHAR2(50));
SQL> ALTER TABLE emp MODIFY (ename VARCHAR2(50) NOT NULL);
DROP 연산자

테이블 컬럼을 삭제 하거나, 테이블의 제약 조건을 삭제 할 때 사용 한다.

 
-- 컬럼의 삭제 문법
SQL> ALTER TABLE table_name DROP COLUMN column_name

-- 제약 조건의 삭제 예제
SQL> ALTER TABLE emp DROP PRIMARY KEY ;

-- CASCADE 연산자와 함께 사용하면 외래키에 의해 참조되는 기본키도 삭제 할 수 있다.
SQL> ALTER TABLE emp DROP CONSTRAINT emp_pk_empno CASCADE;

기존 테이블의 복사

- 기존 테이블을 부분, 또는 완전히 복사할 때에 서브쿼리를 가진 CREATE TABLE 명령어를 사용해서 쉽게 복사 할 수 있다.

- 하지만 제약 조건, 트리거, 그리고 테이블 권한은 새로운 테이블로 복사되지 않는다.

- 제약조건은 NOT NULL 제약 조건만 복사 된다.

기존 테이블의 복사

  
-- 한번 실습해 보세요.
SQL> CREATE TABLE emp2
AS SELECT * FROM emp;

테이블의 테이블스페이스 변경

Oracle 8i부터는 ALTER TABLE ~ MOVE TABLESPACE 명령어로 쉽게 테이블의 테이블스페이스를 변경 할 수 있다.

테이블의 테이블스페이스 변경

  
-- 한번 실습해 보세요. (test라는 테이블스페이스가 있어야 겠죠)
SQL> ALTER TABLE emp
MOVE TABLESPACE test;

테이블의 TRUNCATE

  • - 테이블을 Truncate하면 테이블의 모든 행이 삭제되고 사용된 공간이 해제 된다.
  • - TRUNCATE TABLE은 DDL명령이므로 롤백 데이터가 생성되지 않는다.
  • - DELETE명령으로 데이터를 지우면 롤백명렁어로 복구 할 수 있지만, TRUNCATE로 데이터를 삭제하면 롤백을 할 수가 없다.
  • - 행당 인덱스도 같이 잘려 나간다.
  • - 외래키가 참조중인 테이블은 TRUNCATE할 수 없다.
  • - TRUNCATE 명령을 사용하면 삭제 트리거가 실행되지 않는다.

테이블의 TRUNCATE

테이블의 삭제 (DROP TABLE)

테이블의 테이블스페이스 변경

  
-- emp 테이블 삭제
SQL> DROP TABLE emp;

-- CASCADE CONSTRAINT는 외래키에 의해 참조되는 기본키를 포함한 테이블일 경우
-- 기본키를 참조하던 외래 키 조건도 같이 삭제 한다.
SQL> DROP TABLE emp CASCADE CONSTRAINT;

관련자료

크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기(0) 이올린에 추천하기(0)

Posted by 홍반장

2011/01/20 16:10 2011/01/20 16:10
, , ,
Response
No Trackback , No Comment
RSS :
http://tcbs17.cafe24.com/tc/rss/response/5825

    var rowCnt = 0;
        
function fnInputCreate(tbodyId, pnum,limitCount, pnumSize,pnumColor) {
    var myTbody = document.getElementById(tbodyId);

    //alert(tbodyId);

    var row     = document.createElement("tr");
    var rowId = "row" + rowCnt++;

    var cell             = document.createElement("td");
    var cell2             = document.createElement("td");
    var cell3             = document.createElement("td");
    var cell4             = document.createElement("td");
    var cell5             = document.createElement("td");
    var i_idx             = document.createElement("input");    //-- o_idx
    var i_pnum         = document.createElement("input");    //-- o_num
    var i_countchk    = document.createElement("input");    //-- o_countcheck
    var i_size             = document.createElement("select");    //-- o_size
    var i_color         = document.createElement("select");    //-- o_color
    var i_count        = document.createElement("input");    //-- o_count

    row.setAttribute("style","text-align:center;")
    
    i_idx.setAttribute("type", "hidden");
    i_idx.setAttribute("name", "o_idx[]");
    i_idx.setAttribute("value", "");
    i_pnum.setAttribute("type", "hidden");
    i_pnum.setAttribute("name", "o_num[]");
    i_pnum.setAttribute("value", pnum);
    i_countchk.setAttribute("type", "hidden");
    i_countchk.setAttribute("name", "o_countcheck[]");
    i_countchk.setAttribute("value", limitCount);
    
    i_size.setAttribute("name", "o_size[]");
    i_size.setAttribute("value", "M");
    i_size.setAttribute("style", "width:60px;");
    
    //--- Size Option first
    if (isIE()) {
        i_size.options[0] = new Option("Size", "");
    }
    else {
        i_sizeop     = document.createElement("option");    //-- o_size  - option
        i_sizeop.appendChild(document.createTextNode("Size"));
        i_sizeop.setAttribute("value", "");
        i_size.options.add(i_sizeop);
    }    
    for (var i = 0; i < pnumSize.length; i++){
            ii = i +1;
        if (isIE()) {
            i_size.options[ii] = new Option(pnumSize[i], pnumSize[i]);    
        }else{
            i_sizeop     = document.createElement("option");    //-- o_size  - option
            i_sizeop.appendChild(document.createTextNode(pnumSize[i]));
            i_sizeop.setAttribute("value", pnumSize[i]);
            i_size.options.add(i_sizeop);
        }
    };
        
    i_color.setAttribute("name", "o_color[]");
    i_color.setAttribute("value", "1");
    i_color.setAttribute("style", "width:100px;");
    
    //--- Color Option First
    if (isIE()) {
        i_color.options[0] = new Option("Color", "");    
    }else{
        i_colorop     = document.createElement("option");    //-- o_color - option
        i_colorop.appendChild(document.createTextNode("Color"));
        i_colorop.setAttribute("value", "");
        i_color.options.add(i_colorop);
    }
    for (var i = 0; i < pnumColor.length; i++){
            ii = i + 1;
        if (isIE()) {
            i_color.options[ii] = new Option(colorchip_name(pnumColor[i]), pnumColor[i]);    
        }else{
            i_colorop     = document.createElement("option");    //-- o_size  - option
           //i_colorop.appendChild(document.createTextNode(pnumColor[i]));
            i_colorop.appendChild(document.createTextNode(colorchip_name(pnumColor[i])));
            i_colorop.setAttribute("value", pnumColor[i]);
            i_color.options.add(i_colorop);
        }
    };
    
    
    
    
    i_count.setAttribute("type", "text");
    i_count.setAttribute("name", "o_count[]");
    i_count.setAttribute("value", limitCount);
    i_count.setAttribute("style", "ime-mode:disabled;width:50px;text-align:right;");

    var button  = document.createElement("input");
    var button2 = document.createElement("input");

    if (isIE()) {
        row.id  = rowId;
        button  = document.createElement("<input onclick=\"fnInputCreate('" + tbodyId + "','" + pnum + "','" + limitCount + "', size_" + pnum + ", color_" + pnum + ")\"  />");
        button2 = document.createElement("<input onclick=\"fnInputRemove('" + rowId + "')\"    />");
    } else {
        row.setAttribute("id", rowId);
        button.setAttribute("onclick", "fnInputCreate('" + tbodyId + "','" + pnum + "','" + limitCount + "', size_" + pnum + ", color_" + pnum + ")");
        button2.setAttribute("onclick", "fnInputRemove('" + rowId + "')");
    }

    button.setAttribute("type",  "button");
    button.setAttribute("value", "+");
    button.setAttribute("class", "newButton");
    button.setAttribute("style", "width:25px;");
    button2.setAttribute("type", "button");
    button2.setAttribute("value", "-");
    button2.setAttribute("class", "newButton");
    button2.setAttribute("style", "width:25px;");
 
    cell.appendChild(i_idx);
    cell.appendChild(i_pnum);
    cell.appendChild(i_countchk);
    cell.appendChild(i_size);
    cell2.appendChild(i_color);
    cell3.appendChild(i_count);
    cell4.appendChild(button);
    cell5.appendChild(button2);

    row.appendChild(cell);
    row.appendChild(cell2);
    row.appendChild(cell3);
    row.appendChild(cell4);
    row.appendChild(cell5);

    myTbody.appendChild(row);
}

function delEventPresentRow(buttonObj) {
    var tableBody = document.getElementById("targetBody");
    var index = buttonObj.parentElement.parentElement.rowIndex;
    tableBody.removeChild(tableBody.childNodes[index]);
}

function fnInputRemove(rowId) {
    var row = document.getElementById(rowId);
    //alert(rowId);
    row.parentNode.removeChild(row);
}

크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기(0) 이올린에 추천하기(0)

Posted by 홍반장

2010/06/29 15:14 2010/06/29 15:14
, , , , , ,
Response
No Trackback , No Comment
RSS :
http://tcbs17.cafe24.com/tc/rss/response/5314


블로그 이미지

- 홍반장

Archives

Recent Trackbacks

Calendar

«   2024/11   »
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
Statistics Graph

Site Stats

Total hits:
239602
Today:
254
Yesterday:
712