목록Database/Oracle (13)
Leonardo Go
-- 2011.9.27 저장 프로시져 : 페이지 나누기, 삭제, 수정, 저장 1. 생성방법 CREATE PROCEDURE 프로시져명(매개변수) : 생성(명칭의 중복) CREATE OR REPLACE PROCEDURE 프로시져명(매개변수) : 생성, 수정 2. 삭제 DROP PROCEDURE 프로시져명 3. 매개변수의 종류 IN : 입력값 OUT : 출력값 INOUT : 입출력값 4. 형식 CREATE PROCEDURE 프로시져명(매개변수) IS 변수선언위치 BEGIN 쿼리문장이 작성 END; / 5. 실행방법 오라클 ESECUTE 프로시져명; == 자체에서 처리 update,insert,delete select : 값을 출력시 받는 변수선언 VARIABLE 변수명; ESCUTE 프로시져명(;변수명) 값을..
--2011.09.26 view (뷰) 1) 특징 1. 가상 테이블 테이블 : 실제로 데이터를 저장하고 있다. 뷰 : 실제로 데이터를 저장하고 있지 않다. 2. 수정, 삭제, 추가가 제한적으로 되어 있다. 3. 검색을 쉽게, 쿼리 문장을 단순화 시키는 역할 2) 사용처 1. 복잡하고 긴 쿼리문을 뷰로 이용하면 단순해 진다. 2. 보안에 유리하다.(검색용으로 주로 이용한다.) 3) 단순뷰, 복잡뷰 단순뷰 : 하나의 테이블을 이용한다. 복잡뷰 : 한개 이상의 테이블을 이용 4) 뷰생성 CREATE VIEW view명 AS 서브쿼리 --테이블 복사 CREATE table emp_copy AS SELECT * FROM emp; CREATE table dept_copy AS SELECT * FROM dept; S..
3.2 테이블의 제약조건 (제약조건? 테이블에 부적절한 자료가 입력되는 것을 방지하기 위해서 규칙을 적용해 놓는다. 즉, 테이블안에서 데이터의 성격을 정의하는 것) 제약조건 not null 조건 : 컬럼을 필수 필드화 시킬 때 사용한다. SQL> CREATE TABLE emp( ename VARCHAR2(20) CONSTRAINT emp_nn_ename NOT NULL ); 위와같이테이블을생성하면ename 컬럼에는꼭데이터를입력해야만합니다. -여기서emp_nn_ename은(테이블이름_제약조건이름_컬럼이름) 형식으로CONSTRAINT NAME을정의합니다. -CONSTRAINT NAME은USER_CONSTRAINTS 뷰(VIEW)를통해서확인할수있습니다. SQL> SELECT CONSTRAINT_NAME FRO..
--2011.09.21 제약조건 1. 테이블에 부적절한 자료가 입력되는 것을 방지 (각 필드마다 여러 쿠칙을 적용) 2. 데이터 베이스 내에 데이터의 정확성을 유지 사용자가 원치않는 데이터를 저장, 수정, 삭제할시에 방지하는 것 3. 컬럼단위, 테이블 단위 차이점 : 컬럼+제약조건(동시에 설정) - 컬럼단위 id varchar2(10) PRIMARY KEY 컬럼을 먼저 생성하고 나중에 제약조건을 설정하는 방식 - 테이블 단위 4. 제약조건의 종류 NOT NULL : 해당 컬럼의 값으로 NULL을 허용하지 않는다.(nn) UNIQUE : 테이블 내에서 해당 컬럼값은 항상 유일한 값을 가진다.(uq) PRIMARY KEY : 테이블에서 반드시 존재한다.(NOT NULL+UNIQUE) (pk) FOREIGN ..
--2011.09.20 INNER JOIN : 1) NULL을 포함할 수 없다. 2) 일반적으로 가장 많이 사용되는 조인 3) 같은 값을 가진 있는 테이블을 연결 EQUI-JOIN (=) NON-EQUI-JOIN (=이외의 연산자 사용) BETWEEN~AND emp.deptno = dept.deptno 1) FROM emp, dept WHERE emp.deptno=dept.deptno 2) FROM emp NATURAL JOIN dept(자연조인) : 테이블에 같은 필드명이 존재 3) FROM emp JOIN dept USING(deptno) emp-sal salgrade-losal, hisal 테이블 3개 연결 emp, dept, salgrade 출력 : 이름(emp-ename), 부서명(dept-dn..
-- 2011. 9. 19 JOIN : table 2개 이상 연결 INNER JOIN, OUTER JOIN 차이점 INNER JOIN : NULL 값일 경우에 수행하지 못한다. OUTER JOIN : NULL 값까지 값을 가지고 올 수 있다. (관리자) NULL까지 포함한다 JOIN inner join 1. CROSS JOIN 조건문 없이 이중 for을 사용하는 것과 동일하다 SELECT emp.column, dept.column..... from emp,dept SELECT emp.column, dept.column..... from emp CROSS JOIN dept column명이 중복 emp : deptno dept : deptno 2. EQUI JOIN 1) SELECT column명,...FR..
--2011.09.16 DML select : 검색 select (*|필드명) from table명 where 조건절 ==> 일반 구절 group by 필드명 ==> 그룹에서 사용 having 조건절 order by 필드명 (asc|desc) 내장함수 단일행 : TO_CHAR =>문자로 변환 (숫자, 날짜) ROUND => 반올림 NVL => NULL값을 처리 DECODE => 선택문 CASE ~ WHEN = if와 동일 다중행 : MAX, MIN => 최대, 최소값 COUNT => ROW의 갯수 COUNT(*) => NULL을 포함 COUNT(필드명) => NULL을 제외 AVG, SUM 연산자 산술연산 +,-,*,/ 관계연산 =, NULL포함 여부 SUBQUERY main = subquery sele..
--2011.09.15 1. 오라클의 데이터형 문자형 1)char(숫자) : 정적 char(10) 'aaa' ==> 공간 10 : 고정 1.size크기가 고정길이 문자데이터형 2.최대크기 : 2000바이트 3.최소크기 : 1바이트 2)varchar2(숫자) : 동적(가변) varchar2(10) ==> 'aaa' 공간3 1.size크기가 가변길이 문자데이터형 2.최대크기 : 4000바이트 3.최소크기 : 1바이트 3) 4000바이트 이상일 경우 : 회사소개, 이력서, HTML CLOB : 4GB(문자열) : 문자 저장 BLOB : 4GB(바이트로 저장) : 그림, 동영상 숫자 NUMBER(숫자(정밀도), 숫자(스케일)) : 디폴트 : 7 ,NUMBER 1~38 - 84~127 날짜 DATE (날짜형식) ..
2011.9.14 유사문자열 검색 1. % select * from emp where ename like '%S' 끝나는 문자열 ~S로 끝났을 경우 select * from emp where ename like 'S%' 시작하는 문자열 S~로 시작된 경우 select * from emp whree ename like '%S%' S자의 위치가 아무위치에 존재하는 경우 2. _문자의 갯수 select * from emp where ename '_ _ _S' 'S____' 3. 대소문자 구분 주의한다 ★ 실습 ★ SELECT * from emp where ename like '%S'; SELECT * FROM emp WHERE ename like 'S%'; SELECT * FROM emp WHERE ename..
9월 7일 수요일 /* DML (insert, update, delete) : 데이터 제어 == insert == 1.데이터 첨부 2.형식 INSERT INTO table명(필드명...) values(데이터값...) INSERT INTO table명 values(데이터값...); */ /* --desc dept; INSERT INTO dept values(50, '영업부','서울'); INSERT INTO dept values(60, '총무부','부산'); INSERT INTO dept values(70, '기획부','강원'); INSERT INTO dept values(80, '자재부','제주'); INSERT INTO dept values(90, '개발부','해외'); commit*/ --select..