본문 바로가기

Programming/국비학원

(122)
220916 - PL/SQL - 트리거 리턴값 있는(매개변수 밖으로 보내는) 프로시저 참고 https://rsorry.tistory.com/157 프로시저 문제 - 부서번호 매개변수 / 부서 근무 사원 정보 저장 (사원 번호 사원명 급여 입사일) create or replace PROCEDURE emp_save (v_dno in employee.dno%type) IS cursor cur is select * from employee where dno=v_dno; BEGIN dbms_output.put_line('사원번호 사원명 급여 입사일'); for rec in cur loop exit when cur%notfound; dbms_output.put_line(rec.eno||' '||rec.ename||' '||rec.salary||' '||..
220915 - PL/SQL - 커서, 함수, 프로시저 커서 declare v_dept department%rowtype; cursor cl is select * from department; -- begin dbms_output.put_line('부서번호 부서명 지역명'); dbms_output.put_line('-------------------------'); open cl; -- loop fetch cl into v_dept.dno, v_dept.dname, v_dept.loc; -- exit when cl%notfound; -- dbms_output.put_line(v_dept.dno|| v_dept.dname|| v_dept.loc); end loop; close cl; -- end; / => 부서번호 부서명 지역명 -----------------..
220914 - PL/SQL - 제어문, 커서 DB 프로그래밍 => 복잡한 비즈니스 로직 만드는 PL/SQL (절차형) 문법 DECLARE => 선언부(변수, 상수 선언) BEGIN => 실행부(제어문, 반복문, 함수 정의) EXCEPTION => 예외처리부(로직 처리 오류 발생) 1. 한 문장이 끝날 때마다 세미콜론(;) 작성 2. 한줄 주석 : --A, 여러줄 주석: /*A*/ 3. 쿼리문 수행 위해서는 / 입력 필수며, PL/SQL 블록은 / 있으면 종결된 것으로 간주 변수명 타입 := 표현식; 상수명 CONSTANT 타입 := 상수값; 연산자 ** : 제곱 || : 연결연산자 = : 같다 : 같지 않다 데이터 타입 스칼라 : 숫자, 문자, 날짜, BOOLEAN 레퍼런스 : 데이터베이스 기존의 칼럼에 맞추어 %TYPE Attribute를 이용 ..
220913 - 오라클 - 시퀀스, 인덱스, 권한, 동의어, PL/SQL 시퀀스 : 자동 순차 증가하는 순번을 반환하는 데이터베이스 객체 (1,2,3,..) 보통 PK값에 중복값을 방지하기위해 사용 시퀀스 생성 CREATE SEQUENCE [시퀀스명] INCREMENT BY [증감숫자] //디폴트 1 START WITH [시작숫자] //디폴트 1 NOMINVALUE OR MINVALUE [최솟값] //NOMINVALUE : 디폴트 1, 최솟값 무한 //MINVALUE : 최솟값 설정 NOMAXVALUE OR MAXVALUE [최댓값] //NOMAXVALUE : 디폴트값 1027, 최댓값 무한 //MAXVALUE : 최댓값 CYCLE OR NOCYCLE //CYCLE : 최댓값에 도달하면 최솟값부터 다시 시작 //NOCYCLE : 최댓값 생성 시 시퀀스 생성중지 CACHE OR..
220906 - 오라클 - MERGE문, 뷰 DML 복습 ○ 사원번호 7369 와 업무 동일한 모든사원 부서번호를 사원 7369의 현재 부서번호로 갱신 update emp_copy set dno=(select dno from emp_copy where eno=7369) where job=(select job from emp_copy where eno=7369); ○ dept_copy 테이블 삭제, department 테이블 구조 내용 복사, dept_copy 테이블 재생성 drop table dept_copy; create table dept_copy as select * from department; ○ dept_copy 테이블에서 부서명이 'research'인 부서 삭제 (행) delete from dept_copy where dname='RE..
220905 - 오라클 - 데이터 정의어, 데이터 조작어, 트랜잭션 DDL (데이터 정의어) - 테이블 생성, 수정, 삭제 테이블 생성 CREATE TABLE 테이블명(컬럼명 타입,..); 1. 구조만 복사 create table dept_third as select * from department where 0=1; 2. 복사 create table dept_second as select * from department; 3. 조건부 복사 create table emp20 as select eno, ename, salary*12 totsal from employee where dno=20; 테이블 수정 1. 컬럼 추가 ALTER TABLE 테이블명 ADD 컬럼명 타입; 2. 컬럼 변경 ALTER TABLE 테이블명 MODIFY 컬럼명 타입; 3. 컬럼 삭제 ALTER ..
220902 - 오라클 - 셀프 조인, 서브 쿼리, 다중행 서브쿼리 ※ where 절에서는 그룹함수 불가 / having절 사용해야 함 셀프 조인 ex ○ ward 보다 늦게 입사한 사원 이름, 입사일 select e.ename, e.hiredate from employee e, employee f where f.ename='WARD' and e.hiredate>f.hiredate; ENAME HIREDATE -------------------- -------- JONES 81/04/02 MARTIN 81/09/28 BLAKE 81/05/01 CLARK 81/06/09 SCOTT 87/07/13 KING 81/11/17 TURNER 81/09/08 ADAMS 87/07/13 JAMES 81/12/03 FORD 81/12/03 MILLER 82/01/23 ○ scott과 ..
220831 - 오라클 - 숫자, 날짜, 변환, 일반, 그룹 함수, GROUP BY절 숫자 함수 ○ ABS : 절대값 select abs(10), abs(-10) from dual; ABS(10) ABS(-10) ---------- ---------- 10 10 ○ CEIL : 올림값 select ceil(10.733), ceil(11.001) from dual; CEIL(10.733) CEIL(11.001) ------------ ------------ 11 12 ○ FLOOR : 내림값 floor(10.733), floor(11.001), floor(-1.5) from dual; FLOOR(10.733) FLOOR(11.001) FLOOR(-1.5) ------------- ------------- ------------- 10 11 -2 ○ ROUND : 반올림 select ROUN..
220830 - 오라클 - SQL PLUS, 쿼리문 SQL PLUS EDIT(ED) : 버퍼 저장된 쿼리문 편집 (메모장에서) ed //마지막 쿼리문 메모장으로 열고 편집 ed sample //sample 파일 열고 편집 SAVE : 마지막에 실행한 쿼리문 파일로 저장 SAVE sample; //sample 파일로 저장 SAVE sample REPLACE //마지막에 실행한 쿼리문으로 내용 대체 SAVE sample APPEND //sample 파일에 마지막 쿼리문 추가 => select * from department / select * from employee where salary>=1500 / @경로...파일이름.sql : 파일에 저장된 내용을 일괄로 실행 SPOOL : SPOOL 에서 실행된 모든 명령들을 하나의 파일로 생성 .LST 파일 생성 ..
220829 - 데이터베이스 - SQL PLUS (오라클) - 데이터 질의어 데이터베이스 언어 1. 질의어 (DQL: Data Query Language) SELECT =>DML에도 포함됨 => 데이터 검색 2. 데이터 조작어 (DML : Data Manipulation Lang) SELECT, INSERT, UPDATE, DELETE => 데이터 입력, 수정, 삭제 3. 데이터 정의어 (DDL : Data Definition Lang) CREATE, ALTER, DROP => 테이블 생성, 변경, 삭제 ※ 파일 =엔터티 =테이블 레코드 =튜플 =행(row) //자료 키 =유일값 =기본키 필드 =속성(attribute) =열(column) //항목 DQL SELECT : 테이블 내 검색 (데이터 조회) select * from employee; //employee(사원정보 테이블..