컬럼내용만 삭제 하고 싶습니다. 0 2 1,390

by 치비 [SQL Query] [2014.10.08 12:12:45]


안녕하세요 오라클 테이블에 대해서 공부한지 이제 1달 되는 초보 개발자 입니다.

저가 이번에 평가테이블 을 하나 만들고 있습니다 jsp와 오라클을 연동해서 만든 파일인데

4개의 컬럼 값을 가진 테이블인데

|합격결과| 담당자이름 | 평가시간 | 입력 |

요렇게 4개의 컬럼값 밑에 데이터가쌓이는 구조를 이용하고 있는데 만약에 모든 테이블의 평가가 끝나면

입력에 잇는 컬럼값 외에 나머니 합격결과/담당자이름/평가시간에 있는 데이터를 모두 null값으로 고치고 싶은데

쿼리문을 쓸려고 하니 아직감이 안나옵니다.

update 평가테이블 set 합격결과,담당자이름,평가시간 where 구문에서 where 조건을 잘 줘야 할듯 한데

도저히 조건문을 어떡해 줘야할지를 모르겠습니다... 방향성만이라도 제시를 해주시면 저가 공부하면 되는데

그 방향성 조차도 잡히질 않으니 여러분의 조언이 간절히 필요합니다 긴글 읽어주시느러 감사합니다^^

by 비니 [2014.10.08 12:27:55]

컬럼 자체를 모두 NULL처리 하고 싶으시면, 

update TABLE set 컬럼=NULL ;   이렇게 하시면 해당 컬럼은 모두 NULL로 바뀝니다. 

update TABLE set 컬럼1=NULL, 컬럼2=NULL;  이렇게 하시면 컬럼 1, 2가 모두 NULL로 바뀌죠!

where절은 어떤 조건에 충족하는 컬럼값만 바꾸실때 조건절을 주시는것이니 . 

테이블 의 한 컬럼에 대해서 전체를 모두 NULL로 바꾸실거라면 where 절은 필요가 없습니다. 


주의하실점은 해당 테이블에 데이터가 대량일 경우 . 저렇게 하시는것을 추천하고 싶지 않습니다. 

업데이트 시간이 상당히 오래 걸릴거에요. 

테이블을 똑같이 새로 만드시고  . null처리 안하는 컬럼 값만 복사 하시길. 

insert into table2 (컬럼) select 컬럼 from TABLE;  이렇게 null처리 하지 않는 컬럼만 지정해서 복사하시면 update보다는 더 빠르게 작업하실수 있습니다. 

그후 테이블을 rename 하시면 됩니다. 


by 치비 [2014.10.08 12:37:26]

아하 update 구문은 시간이 오래걸린다는 단점이 있었군요 끽해봐야 1개 테이블 마다 버튼 하나로 클릭할시에 바뀌는 거라서 크게 문제될건 없다고 생각합니다. 거기에다가 다른 방법까지 제안해주셔서 너무너무 감사합니다

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입