일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 스프링부트 도커 배포
- 백준
- Programmers
- COS Pro
- 오름차순 정렬
- index of
- 프로그래머스 자바
- StringTokenizer
- SWEA
- 프로그래머스 문자열 정렬
- 이진수 변환
- 스프링부트 도커
- 프로그래머스 풀이
- 버퍼
- Lv1
- Queue
- 알고리즘
- java
- 프로그래머스
- 삼각형의 완성조건
- 클라이언트
- lv2
- Stack
- 문자열
- lv0
- 백준 N과 M 자바
- 큐
- 자바
- 스프링부트 도커로 배포
- 스택
- Today
- Total
목록전체 글 (415)
mun dev
프로시저(PROCEDURE)란? 특정 작업을 수행하는, 이름이 있는 PL/SQL BLOCK이다. 매개 변수를 받을 수 있고, 반복적으로 사용할 수 있는 BLOCK이다. 보통 연속 실행 또는 구현이 복잡한 트랜잭션을 수행하는 PL SQL BLOCK을 데이터베이스에 저장하기 위해 생성한다. 프로시저 문법 create or replace 구문을 사용하여 생성 is로 PL/SQL의 블록을 시작 local변수는 is와 begin 사이에 선언 create or replace procedure name in argument out argument in out argument is [변수 선언] begin -- 필수 [PL/SQL BLOCK] -- SQL 문장, PL/SQL 제어 문장 [EXCEPTION] -- 선택 ..
PL/SQL이란? PL/SQL은 Oracle’s Procedural Language extension to SQL의 약자이다. SQL 문장에서 변수 정의, 조건처리(IF), 반복처리(LOOP, WHILE, FOR)등을 지원하며, 오라클 자체에 내장되어 있는 절차적 언어(Procedure Language)이다. DECLARE문을 이용하며 정의되며, 선언문의 사용은 선택 사항 PL/SQL문은 블록 구조로 되어 있고, PL/SQL 자신이 컴파일 엔진이 가지고 있다. PL/SQL BLOCK STRUCTURE PL/SQL은 프로그램을 논리적인 블록으로 나누는 구조화된 블록언어 PL/SQL 블록은 선언부(선택적), 실행부(필수적), 예외 처리부(선택적)으로 구성되어 있고, BEGIN과 END 키워드는 반드시 기술해..
1. 제약조건(CONSTRAINT) 제약조건은 결점 없이 정확하고 유효한 데이터가 데이터 베이스에 저장될 수 있도록 하기 위하여 데이터를 조작하는데 한계를 규정한 것 CONSTRAINT뒤에 제약조건 ID를 부여할 수 있다. CONSTRAINT를 생략할 시 제약ID를 자동으로 오라클 시스템에서 생성해준다 1) 테이블 생성시 제약조건 CONSTRAINT 제약id 제약내용(컬럼명); 2) 제약 변경 제약조건을 주지 않아 추가하거나, 제약 조건을 변경, 삭제 하는 경우 ALTER명령문을 이용하여 변경 가능 추가 ALTER TABLE 테이블명 ADD CONSTRAINT 제약이름 제약조건; 수정 ALTER TABLE 테이블명 MODIFY 컬럼조건; 삭제 ALTER TABLE 테이블명 DROP CONSTRAINT 제..
테이블 구조 변경 1) 컬럼 추가 추가된 컬럼의 마지막 부분에 생성 ALTER TABLE 테이블명 ADD(컬럼명 DataType); 2) 컬럼 변경 기존 컬럼에 데이터가 없는 경우 컬럼의 데이터 타입 변경이 자유로움 컬럼의 크기 변경이 자유로움 기존 컬럼에 데이터 존재하는 경우 데이터 타입 변경은 CHAR과 VARCHAR2만 가능 변경한 컬럼의 크기가 저장된 데이터의 크기보다 같거나 클 경우에만 가능 ALTER TABLE 테이블명 MODIFY (컬럼명 DataType); 3) 컬럼 제거 2개 이상의 컬럼을 가진 기존 테이블의 특정 컬럼과 컬럼의 데이터 삭제 가능 한 번의 하나의 컬러만 삭제 가능, 삭제된 컬럼은 복구 불가능 ALTER TABLE 테이블명 DROP COLUMN 컬럼명;
오라클에서 성적, 급여등 순위를 구하기 위해 순위 함수를 사용하면 된다. 순위 함수의 순위는 OVER 함수 내부의 ORDER BY 컬럼 값으로 결정된다. RANK() : 중복 순위 개수만큼 다음 순위 값을 증가시킴 DENSE_RANK(): 중복 순위가 존재해도 순차적으로 다음 순위 값을 표시함 SELECT ENAME, SAL, RANK() OVER(ORDER BY SAL DESC) RANK, DENSE_RANK() OVER(ORDER BY SAL DESC) DENSE_RANK FROM EMP ORDER BY SAL DESC; RANK는 2순위가 2명이므로 3순위를 건너뛰고 2순위 다음은 4순위로 표시 DENSE_RANK 함수는 2순위가 2명 이여도 다음 순위는 3순위로 표시 순위가 겹치지 않는다면 두 개..
with절이란 오라클9 이후 버전부터 사용이 가능하며 이름이 부여된 서브쿼리, 임시테이블을 만든다는 관점에서 보면 VIEW와 쓰임새가 비슷한데 차이점이 있다면 VIEW는 한 번 만들어 놓으면 DROP할 때까지 없어지지 않고, with절의 경우 한 번 실행할 쿼리문내에 정의되어 있을 경우, 그 쿼리문 안에서만 실행된다는 차이점이 있다. 사용이유 반복적으로 SQL문을 사용하는 경우 그 블록에 이름을 부여하여 재사용할 수 있게 함으로서 쿼리 성능을 높일 수 있는데, with절을 이용해 미리 이름을 부여해서 쿼리 블록을 만들 수 있음. with절 사용안한 예 select job, sum(sal) as 토탈 from emp group by job having sum(sal) > (select avg(sum(sal..
CHECK 특정 컬럼에 지정된 데이터만 입력될 수 있도록 제한 입력할 수 있는 값의 범위를 설정해 주는 제약조건 입력 값이 조건에 맞지 않으면 오류 발생, 입력 값의 범위를 지정할 수 있음 create table emp6 (empno number(10), ename varchar(20), sal number(10) constraint emp6_sal_ck check (sal between 0 and 6000)); 조건 위배시 오류 발생 update emp6 set sal = 9000 where ename = 'CLARK'; -- 9000으로 데이터를 넣으려고 해도 넣어지지 않음 insert into emp6 values(7566, 'ADMS', 9000); insert into emp6 values(75..
UNIQUE 중복된 데이터가 입력되지 않게 하는 방법 테이블에 저장된 행 데이터를 고유하게 식별하기 위한 고유키를 정의 not null과 함께 사용 가능 기본키로 설정하지 않지만 그 값의 고유성을 지켜주고 싶을 때 사용 unique로 선언된 컬럼은 foregin key 참조가 가능 [컬럼명][타입] UNIQUE [컬럼명][타입] CONSTRAINT [제약조건명] UNIQUE ([컬럼명]) CONSTRAINT[제약조건 명] UNIQUE ([컬럼명]) create table dept3 (deptno number(10), dname varchar(14) constraint dept3_deptno_dname_un unique, loc varchar(10)); 제약을 생성할 때 걸지 못했다면 alter add를 ..