검색결과 리스트
오라클에 해당되는 글 5건
- 2012.09.28 [오라클] 조작어 ,컬럼추가, 컬럼명 변경 , 데이터 타입변경 , 컬럼 삭제
- 2012.09.28 [오라클] 테이블 관계 조회 부모 자식 관계 조회 !!
- 2011.04.06 [오라클] 테이블 스키마 가져오기
- 2011.04.06 [오라클] 테이블 복사
- 2010.12.20 [oracle] 유용한 쿼리문 만들기
글
1. 컬럼 추가
alter table 테이블 add(필드 number(10));
alter table 테이블 rename column 현재이름 to 변경이름;
alter table 테이블 drop(필드);
설정
트랙백
댓글
글
쿼리보기하여 릴레이션 이름을 찾은후 constrain_name에서 찾아본다.
select CONSTRAINT_NAME, TABLE_NAME, R_CONSTRAINT_NAMEfrom user_constraints
where CONSTRAINT_NAME = 'R_101' /* 에러 코드에 나와있는 릴레이션 이름 */
설정
트랙백
댓글
글
SELECT B.COLUMN_NAME AS 컬럼명
, B.DATA_TYPE AS 테이터타입,
B.DATA_LENGTH AS 길이,
B.NULLABLE AS NULL구분,
B.COLUMN_ID AS 컬럼순서,
A.COMMENTS AS 설명
FROM USER_COL_COMMENTS A, USER_TAB_COLUMNS B
WHERE B.TABLE_NAME = A.TABLE_NAME
AND B.COLUMN_NAME = A.COLUMN_NAME
AND B.TABLE_NAME LIKE '테이블명'
ORDER BY B.COLUMN_ID;
설정
트랙백
댓글
글
테스트용 테이블 만들때 유용하게 쓸수 있죠..
CREATE TABLE TEST_MEMBER AS SELECT * FROM MEMBER
검색을 걸어서 필요한 데이타만 복사할수도 있죠.
CREATE TABLE TEST_MEMBER AS SELECT * FROM MEMBER WHERE IDX<10000
테이블 구조만 복사하고 싶다면..
CREATE TABLE TEST_MEMBER AS SELECT * FROM MEMBER WHERE 1=2
검색조건을 이렇게 한다면 테이타는 복사가 안되겠죠..
테이블이 이미 만들어진 경우는
INSERT INTO TEST_MEMBER SELECT * FROM MEMBER
주의할점은 테이블구조만 복사된다는 것이다.
프라이머리키나 인덱스등은 복사가 안돼니 따로 설정해 주어야 한다.
-- 추가
테이블을 다른 테이블스페이스로 지정하고 미리 생성해 둡니다.
CREATE TABLE COPY_TB
(A NUMBER,
B VARCHAR2(10))
TABLESPACE COPY_TBS
그리고 기존 테이블의 내용을 새로 생성한 테이블에 쑤셔 넣습니다.
INSERT INTO COPY_TB SELECT * FROM ORI
이게 이상해 보이지만... exp/imp로 하는 방법도 있습니다.
요기에 대해서는.. 패스 ㅡㅡ;
9i 이상에서는 단 한줄로 테이블이 속한 테이블스페이스를 옮길 수 있습니다.
요렇게
ALTER TABLE copy_tb MOVE TABLESPACE users;
인덱스도 옮길 수 있다. 테스트용 scott꺼를 옮겨 보기로 하자.
alter index PK_EMP rebuild tablespace users
설정
트랙백
댓글
글
--BEAN CLASS 만들기
select
'private String ' || lower(SUBSTR(a.COLUMN_NAME, 1,1))||SUBSTR(replace(INITCAP(lower(a.COLUMN_NAME)), '_',''), 2) || ' = "";'
|| ' //' || NVL(b.COMMENTS, '')
as 빈소스
FROM USER_TAB_COLS a
, USER_COL_COMMENTS b
WHERE a.TABLE_NAME = b.TABLE_NAME
and a.COLUMN_NAME = b.COLUMN_NAME
AND a.TABLE_NAME=upper('ez_user');
--SELECT 만들기
select decode(rownum, 1, 'SELECT ' || CHR(13))
|| '' || upper(COLUMN_NAME)
|| ' as ' ||lower(SUBSTR(COLUMN_NAME, 1,1))||SUBSTR(replace(INITCAP(lower(COLUMN_NAME)), '_',''), 2)
|| decode(rownum, (COUNT(*) OVER()), CHR(13)
|| ' FROM '|| TABLE_NAME ||' ' ||' ;', ', ')
as 조회쿼리
FrOm USER_TAB_COLS --ALL_TAB_COLS, USER_TAB_COLS
where TABLE_NAME=upper('CORP_OPER_DAY');-- and OWNER='MYEZWEL';
--INSERT 쿼리 만들기
select
TABLE_NAME,
' '||decode(rownum, 1,'',',')||COLUMN_NAME as 컬럼,
' '||decode(rownum, 1,'',',')||'#'||lower(SUBSTR(COLUMN_NAME, 1,1))||SUBSTR(replace(INITCAP(lower(COLUMN_NAME)), '_',''), 2) || '#' as 세팅부
FrOm USER_TAB_COLS
where TABLE_NAME=upper('EZ_EC_ACTING');
--UPDATE 쿼리 만들기
select
TABLE_NAME||' Z',
' '||'<isNotEmpty prepend="," property="'||lower(SUBSTR(COLUMN_NAME, 1,1))||SUBSTR(replace(INITCAP(lower(COLUMN_NAME)), '_',''), 2)||'">'||
'Z.'||COLUMN_NAME || '='||
'#'||lower(SUBSTR(COLUMN_NAME, 1,1))||SUBSTR(replace(INITCAP(lower(COLUMN_NAME)), '_',''), 2) || '#' ||
'</isNotEmpty>'
as 수정세팅부
FrOm USER_TAB_COLS
where TABLE_NAME=upper('EZ_EC_ACTING');
RECENT COMMENT