CRUD Create - create, insert Read - select Update - update, alter Delete - delete, drop, truncate * Package - 비슷한 성격의 함수, 프로시져를 편하게 관리하기 위하여 생성 - Package Header와 Package Body로 구성된다. Header는 패키지에 들어갈 함수, 프로시져의 목록을 정의하고, Body는 선언된 함수와 프로시져의 코드를 정의한다. - 생성된 Package는 user_procedures에서 확인할 수 있다. Header create or replace package 패키지명 as function 함수명(매개변수,,,) return 데이터형; procedure 프로시져명(매개변수,,,); ... ..
1008 과제 1. 입력 받은 이메일의 유효성 검증을 하는 함수를 작성하라. 단, 유효성 검증 규칙으로는 '@, .'이 있어야한다. ex) select 함수명(이메일) 결과) 입력 이메일 : 유효 / 무효 ======================================================================= -- 이메일 검증 함수 create or replace function check_email(email varchar2) return varchar2 is result varchar(6) := '무효'; begin if(instr(email,'@') > 0 and instr(substr(email,instr(email,'@')+1),'.') > 0) then result :=..
* Cursor For Loop문 활용하기 for 변수명 in 커서명 loop (명시적 커서의 open, fetch가 자동적으로 수행된다.) 처리문; end loop; (루프문을 빠져나갈 때 자동적으로 커서가 close된다.) - PL/SQL에서는 for문과 커서를 결합하여 cursor for반복 기능을 제공한다. 이 방법을 사용할 경우 사용자는 커서의 선언만 하고 커서변수의 선언, 열기, 인출, 닫기 작업을 오라클이 자동으로 수행한다.(이때 열기,인출,닫기를 개발자가 명시하면 에러가 난다.) - for 다음에 선언하는 변수는 자동으로 만들어지며, 커서로부터 fetch된 하나의 레코드를 저장하기 위한 커서 레코드 변수이다. 복합 변수 레코드처럼 사용되며 레코드를 구성하는 필드에 접근할 때는 '레코드명.변..
1007 과제 입력받은 부서번호로 사원번호, 사원명, 연봉, 입사일을 조회하라 단, 보너스는 부서번호별로 차등 지급한다.(10 - 연봉의 10%, 20 - 20%, 30 - 15%) 커서로 뽑아온 값을 가지고 루프안에서 if로 계산하라 해당 부서가 없다면 '부서없음'을 출력하고 입력받은 부서번호가 있을 때에만 커서를 사용하여 출력하라. 부서번호가 입력되지 않으면 '부서번호 필수 입력'을 출력하라 accept deptno prompt '부서번호 : ' declare i_deptno emp.deptno%type := nvl('&deptno',-1); cursor cur_emp is select empno, ename, sal, hiredate from emp where deptno = i_deptno; em..
* Exception Handling - 프로그램 개발시 코드에서 발생할 수 있는 사소한 error가 발생했을 때 사용자에게 제공할 내용을 만드는 것 - 가장 마지막줄에 한번만 정의하면 된다. - 최상위 예외처리객체는 others이다. 모든 예외를 다 잡아서 처리할 수 있다. - 문법 declare begin ... exception when 예외처리객체1 then 1예외발생시 제공할 코드; when 예외처리 객체2 then 2예외발생시 제공할 코드; ... end; / - 예외처리 객체 · DUP_VAL_ON_INDEX : UNIQUE, PRIMARY KEY의 중복된 값이 들어갈 때 · NO_DATA_FOUND : SELECT에서 0행이 조회되었을 때 · TOO_MANY_ROWS : SELECT에서 여..
PL/SQL이어서... * 제어문 - 준비된 코드를 상황에 맞게 실행하기 위해서 사용한다. - 종류 - 조건문 + if - 단일 if : 조건에 맞을 때에만 코드를 실행 if 조건식 then 조건에 맞을 때 수행할 코드 end if; ex) ------------------------------------------ -- 조건문 ------------------------------------------ -- *if -- 문)이름을 입력 받아 계급을 출력하라. -- 단, 계급은 입력되는 이름이 이진기이면 리더를 그 이외에는 멤버를 출력하라. set verify off set serveroutput on accept name prompt 'name : ' declare grade char(6 byte) :..