Database(34)
-
[Oracle] 오라클에서 자동증가칼럼(Sequence) 사용하기
Unique Key를 생성하는 방법은 DBMS마다 차이가 있다. MS-SQL은 IDENTITY를, MySQL은 auto_increment와 같이 쉽게 사용할 수 있는 방법이 있는데 오라클에서는 Sequence를 사용하여 다음과 같이 유사하게 구현할 수 있다 1. 자동증가컬럼을 사용하고자 하는 MYTABLE테이블을 생성한다. CREATE TABLE MYTABLE (ID NUMBER, NAME VARCHAR2(20)); 2. CREATE SEQUENCE 라는 문장을 사용하여 SEQ_ID라는 이름의 시퀀스를 만든다. CREATE SEQUENCE SEQ_ID INCREMENT BY 1 START WITH 10000; -- INCREMENT BY 1 : 증가값은 1 -- START WITH 10000 : 1000..
2010.05.26 -
[Oracle] 오라클 Imp할 때 테이블 스페이스 변경해서 올리기
출처 : database.sarang.net test 테이블스페이스에 있는내용을 exp userid=test/test file=test.dmp 위와 같이 받은뒤 다른서버의 새로 생성된 테이블 스페이스에다가 imp userid=test2/test2 file='test.dmp' fromuser=test touser=test2 ignore='y' 적용하였더니.... 데이터는 제대로 들어가는데 테이블 스페이스가 이전 test 로 되어있습니다. 새로 들어가는 test2로 적용이 되게 하고 싶은데 어떡해야 하나요? 부탁드립니다. 안녕하세요.. 이런 건이 있다니 반갑네요 .. 저도 이런 프로젝트가 있어서.. 해봤었거든요.. 테이블스페이스에 쿼터뺏고, 그런거 다 안됩니다. 상식적으로 생각해봐도 안되죠.. ㅋㅋㅋ... ..
2010.05.26 -
[Oracle] substr 함수
select substr(EAS220_DOC_NO,1,INSTR(EAS220_DOC_NO,'-',1,1)) from eas220tl where EAS220_DOC_SEQ = 'AA08003201002231754040140' 예) 전산개발부-0808 -> 전산개발부- 요렇게 변경됨 ㅋㅋ
2010.04.28 -
[Oracle] like 문 바인드 변수 적용법
SELECT EAS220_DOC_SEQ, EAS220_DOC_NO, EAS220_FORM_CD, EAS220_TITLE, to_char(EAS220_MADE_DT, 'yyyy-mm-dd')EAS220_MADE_DT, EAS220_MAKER_NM, EAS200_NM_KOR, COM020_DOMINO_NM_KOR, EAS220_DEPT_CD, EAS220_OWNER_ID FROM EAS200TL ,EAS220TL ,COM020TL WHERE EAS220_DOC_DIV = EAS200_CODE AND EAS220_DEPT_CD = COM020_DOMINO_DPT_CD AND EAS220_APP_DIV != 'D' AND EAS220_DOC_NO LIKE '%' || ? || '%' AND EAS220_YEAR..
2010.04.28 -
[Oracle] <> != 는 같은 표현식
select * from per001tl where per001_emp_no = '123123' and per001_kor_nm != '홍길동' 이표현식과 select * from per001tl where per001_emp_no = '123123' and per001_kor_nm '홍길동' 이 표현식은 같다 xml 에서 표현식이 지원 안할땐 != 요렇게 써주자
2010.04.28 -
[Oracle] 1. 유저 권한 grant 하기 2. synonym 하기
1. grant 하기 scott 유저로 로긴 ( scott user 의 emp 테이블을 test 유저에게 모든 권한(조회,등록,수정,삭제 등)을 부여함 ) SQL > GRANT ALL ON emp TO test; 'ALL' 대신에 'SELECT' 로 grant 를 하면 select 권한, 즉 조회하는 권한만 부여할 수 있다. 2. synonym 하기 test 유저로 로긴 ( scott.emp 테이블명을 scott_emp 테이블 명으로 사용 ) SQL > select * from scott.emp; ( synonym 하기 전에는 scott.test 로 테이블 이름을 불러줘야 한다. ) SQL > CREATE SYNONYM scott_emp FOR scott.test; SQL > select * from s..
2010.04.28 -
[Oracle] 오라클 칼럼 추가 , 삭제 예제
--칼럼 삭제 alter table EAS940TL drop column DELETEID; --칼럼 추가 alter table EAS940TL add EAS940_MNG_DEPT_CD varchar(10) alter table EAS940TL add EAS940_USE_YN char(1) alter table EAS940TL add EAS940_DEPT_CD varchar(10)
2010.04.28 -
[Oracle] 제약조건
테이블 생성시 제약조건을 사용할수 있다. 1.제약조건이란? -데이터의 유효성을 확보하기 위해 컬럼에 제한을 거는 조건 2.제약조건의 종류 (1)PRIMARY KEY =중복을 허용하지 않으면서 NULL값을 허용하지 않는 제약 조건 (2)유일키(UNIQUE )-중복을 허용하지 않는 제약조건 ALTER TABLE 테이블이름 ADD CONSTRAINT 제약이름 UNIQUE(칼럼이름) ALTER TABLE CUSTOMER ADD CONSTRAINT CK_CUSTOMER UNIQUE(IDX) (3)NOT NULL -널값을 허용하지 않는 제약조건 ALTER TABLE 테이블이름 MODIFY(칼럼 자료형() NOT NULL); 예) ALTER TABLE CUSTOMER MODIFY(PHONE VARCHAR(20) NO..
2010.04.28 -
[Oracle] 쿼리연습4
------------------------------------------------------------------------- 1.최소급여를 받는 사원과 같은 부서에서 근무하는 모든 사원명,부서명을 출력하세요. ------------------------------------------------------------------------- SELECT ENAME,DNAME FROM EMP E,DEPT D WHERE E.DEPTNO=D.DEPTNO AND E.DEPTNO=(SELECT DEPTNO FROM EMP WHERE SAL=(SELECT MIN(SAL) FROM EMP)); ------------------------------------------------------------------..
2010.04.28 -
[Oracle] 쿼리연습3
JOIN 문 : 물리적으로 분리되어 있는 테이블들의 레코드를 합쳐서 보여줄 수 있는 쿼리문 1.업무(JOB) 가 MANAGER 인 사원의 이름,부서명, 입사일을 출력 SELECT ENAME,DNAME,HIREDATE FROM EMP E, DEPT D WHERE E.DEPTNO=D.DEPTNO AND JOB='MANAGER' 2.사원명이 WARD 인 사원의 급여,부서번호,부서위치,커미션을 출력 SELECT SAL,E.DEPTNO,LOC,COMM FROM EMP E, DEPT D WHERE E.DEPTNO=D.DEPTNO AND ENAME='WARD' 3.30번 부서에 속하는 사원의 이름, 부서번호,부서위치 를 출력 SELECT ENAME,E.DEPTNO,LOC FROM EMP E,DEPT D WHERE E..
2010.04.28