본문 바로가기

oracle29

1026_시퀀스 시퀀스(sequence) 유일한 값을 생성해주는 오라클 객체, 자동으로 숫자 증가 보통 primary key로 사용할 수 있는 순차적으로 증가하는 숫자 컬럼 생성 시 사용 --create , drop --nextval , currval create sequence 시퀀스명 start with 시작값 => 1(기본값) increment by 증가치 =>1 maxvalue 최댓값 => 10의 1027 minvalue 최솟값 => 10의 -1027 increment by :시퀀스 증가 값. 생략 시 1씩 증가 start with : 시퀀스 시작 값. 생략 시 1부터 시작 maxvalue : 시퀀스가 증가할 수 있는 최대값 min value : 시퀀스의 최소값 지정 ,기본값 1 create sequence de.. 2022. 10. 26.
1024_제약조건(foreign key, check, default) 1.부모와 자식의 관계를 가지는 자식 쪽 테이블에 설정한다. 2.부모 쪽 테이블의 컬럼은 반드시 primary key 또는 unique 해야한다. 3. null 데이터를 허용한다. --emp,dept 활용예시 insert into emp values(1111,'aaa','MANAGER',9999,sysdate,1000,NULL,50); --오류 보고 - --ORA-02291: 무결성 제약조건(SCOTT.FK_DEPTNO)이 위배되었습니다- 부모 키가 없습니다 create table emp07( empno number(4) constraint emp07_empno_pk primary key, ename varchar2(9) constraint emp07_empno_nn not null, job varcha.. 2022. 10. 26.
뷰 (View) 1. 가상테이블, 저장된 쿼리 2. 실제 테이블이 아니라 쿼리문을 저장하고 있어 테이블과 같이 쿼리문을 통해 조회 1. 원하는 컬럼, 레코드를 사전에 만들어 쿼리로 저장 2. 복잡한 Join문 등을 단일 테이블을 사용하듯이 간단한 쿼리로 사용가능하다 3. 실질적 테이블의 내부 구조를 숨길 수 있다. (보안에 유리) 4. 일반적으로 view는 read only (편리성 - 서브쿼리를 사용한 결과와 동일) -뷰 select * from vw_emp20; -서브쿼리 SELECT * FROM (SELECT EMPNO, ENAME, JOB, DEPTNO FROM EMP WHERE DEPTNO = 20); - 원본 테이블 만들기 (복사되는 테이블은 제약조건이 안 넘어온다) create table d.. 2022. 10. 26.
1019_날짜함수 -날짜함수 --select sysdate -1 : 어제, sysdate : 오늘 sysdate+1 : 내일 -- from dual; select trunc((sysdate - hiredate)/365,1) as 근무일수 --차가 일수로 반환 from emp; select sysdate, round(sysdate, 'CC') as cc, round(sysdate, 'YYYY') as YYYY, round(sysdate, 'Q') as Q, round(sysdate, 'D') as D, round(sysdate, 'DDD') as DDD, round(sysdate, 'HH') as HH from emp; select sysdate, trunc(sysdate, 'CC') as cc, trunc(sysdate,.. 2022. 10. 26.
1020_서브쿼리 select ename, max(sal) --일반컬럼과 그룹함수 함께 사용할 수 없다. 그럼 이름이랑 같이 출력하고싶은데 어‹또舊? from emp; --서브쿼리 --select 구문을 중첩해서 사용하는 것(where) select ename,max(sal) from emp; ---scott사원의 근무지 부서명을 알고시퍼 select deptno from emp where ename = 'SCOTT'; select dname from dept where deptno = 20; --부서번호 자리에 쿼리 자체를 넣어서 출력한다. --큰 틀이 메인쿼리 ()안에 서브쿼리 select dname from dept where deptno = (select deptno from emp where ename = 'S.. 2022. 10. 26.
Foreign Key(외래키) (외래키/참조키) 1.부모와 자식의 관계를 가지는 자식 쪽 테이블에 설정한다. 2.부모 쪽 테이블의 컬럼은 반드시 primary key 또는 unique 해야한다. 3. null 데이터를 허용한다. 외래키 설정 ALTER TABLE `child ` ADD FOREIGN KEY (`parent_id`) REFERENCES `parent` (`id`); 외래키 삭제 alter table [테이블명] drop foreign key [제약조건명]; 2022. 10. 25.