오라클>> 여러개의 테이블에 있는 컬럼명 수정(업데이트)하는 문제

오라클>> 여러개의 테이블에 있는 컬럼명 수정(업데이트)하는 문제

작성일 2005.04.13댓글 2건
    게시물 수정 , 삭제는 로그인 필요

제 질문에 관심 가져주셔서 감사합니다.

 

현재 여러개의 테이블에 있는 컬럼명을

 

일괄적으로 업데이트 하려고 합니다.

 

여러개의 테이블이 있을 경우,

 

각 테이블의 일정 컬럼을 일괄적으로 수정하려고 합니다.

 

예를 들어 테이블 A, B, C, D에서

 

aa란 이름이 속한 컬럼명을 GG로 동시에 수정하는 방법은 어떤것이 있을까요..??
( like '%aa%')

 

한 테이블내의 컬럼만 바꿀경우는 update문에 replace를 쓰면 되는것 같은데..

 

update A set bbaass = replace(bbaass,'aa','GG')
where bbaass like '%aa%';                                        <--요렇게 하는게 맞나요..?? =ㅅ=;;;

 

위처럼 하는게 맞다면

 

문제는

 

여러개의 테이블에서 공통 이름이 포함된 컬럼명을 뽑아와 동시에 수정하는 겁니다.

 

예를 든, 자세한 설명이 있었으면 좋겠습니다.(<--초보자 수준에 입각하여..^^;;;)

 

답변 부탁드리겠습니다.



profile_image 익명 작성일 -

update  (select a.bbaass

from a, b, c, d

where a.공통으로 들어간 컬럼=b.공통으로 들어간 컬럼

        and a.공통으로 들어간 컬럼=c.공통으로 들어간 컬럼

        and a.공통으로 들어간 컬럼=d.공통으로 들어간 컬럼

       and b.공통으로 들어간 컬럼=c.공통으로 들어간 컬럼

       and b.공통으로 들어간 컬럼=d.공통으로 들어간 컬럼

       and c.공통으로 들어간 컬럼=d.공통으로 들어간 컬럼

) X

set  X.bbaass='GG'

where bbaass like '%aa%';

 

여기서 공통으로 들어간 컬럼은 bbaass 말고 공통으로 들어간 것입니다.

예를 들어 회원 가입을 만드는 테이블이라면 회원 아이디가 a,b,c,d 테이블에 모두 들어가 있겠죠...

 

 

또 저 쿼리문은 실행해 보지않아서 될지 안될지 모르겠습니다.

 

profile_image 익명 작성일 -

Oracle에서는 컬럼 이름을 update 문장으로 수정할 수 없습니다.

컬럼 이름 수정은 사용중인 오라클 버전에 따라

손쉽게 할 수도 있고 어렵게 해야하는 경우도 있습니다.

버전 확인은 다음 SQL문으로 해보세요...

 

select * from v$version;

 

 

>> 9i R2일 경우 : [Oracle9i Enterprise Edition Release 9.2.0 - 64bit Production]

 

참 운이 좋은 경우입니다. alter table 명령으로 쉽게 가능합니다.

 

alter table 테이블이름 rename column 이전컬럼이름 to 새컬럼이름;

 

 

>> 9i R1일 경우 : [Oracle9i Enterprise Edition Release 9.1.0 - 64bit Production]

 

alter table 명령으로 컬럼이름을 수정할 수 없습니다.

 

dbms_redefinition 패키지를 사용하셔야 합니다. 자세한 내용은

다음을 참고 하세요. http://211.106.111.2:8880/bulletin/list.jsp?seq=12279

 

이 방법은 오라클 초보자 입장에서는 좀 어려운 방법입니다.

 

 

>> 그 이전 버전일 경우 :

 

alter table 명령으로 컬럼이름을 수정할 수 없습니다.

dbms_redefinition 패키지를 사용할 수 없습니다.

 

즉, 컬럼 이름을 손쉽게 바꾸는 방법이 없습니다.

해당 컬럼을 빼고 테이블을 재생성하는 방법을

모든 테이블에 사용하셔야 합니다.

 

[혹시 9i R2일 경우를 사용하고 계신다면 쪽지를 보내주세요]

[쉽게 할 수 있는 방법을 드리겠습니다. ]

 

행운이 있기를... ^^

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

있는 컬럼명 수정(업데이트)하는 문제

... 테이블에 있는 컬럼명을 일괄적으로 업데이트... 맞다면 문제여러개의 테이블에서 공통 이름이 포함된 컬럼명을 뽑아와 동시에 수정하는 겁니다....

컴퓨터 관련(IT) 용어 20개 알려주세요

... Access 디스크 드라이브에 있는 데이터나 프로그램을 검색하거나 또는 통신이나... 오동작하는문제점이 대두됐다. 이러한 문제점을 수정하기 위해 인텔을...

웹프로그래밍 이해하기 (웹기획자 입장)

... 많다면 오라클을 사용하는 것이 효율성 및 성능에서... (이런 문제는 엔지니어들에게 맡기자, 단 그들 어떤 이야기 들을 하고 있는지는 들을 수는 있어야 한다.)...