072DATA

2023-11-20 : ( 본문

BackEnd/DATABASE

2023-11-20 : (

0720 2023. 11. 20. 23:21

오늘 푼 문제

 레퍼런스타입변수로 EID, ENAME, JCODE, SAL, DTITLE를 선언하고
    각 자료형 EMPLOYEE(EMP_ID, EMP_NAME, JOB_CODE, SALARY), 
    DEPARTMENT (DEPT_TITLE)들을 참조하도록
    
    사용자가 입력한 사번의 사원의 사번, 사원명, 직급코드, 급여, 부서명 조회 한 후 각 변수에 담아 출력

DECLARE
    EID EMPLOYEE.EMP_ID%TYPE;
    ENAME EMPLOYEE.EMP_NAME%TYPE;
    JCODE EMPLOYEE.JOB_CODE%TYPE;
    SAL EMPLOYEE.SALARY%TYPE;
    DTITLE DEPARTMENT.DEPT_TITLE%TYPE;
BEGIN
SELECT EMP_ID,EMP_NAME,JOB_CODE,SALARY,DEPT_TITLE
    INTO EID,ENAME,JCODE,SAL,DTITLE
    FROM EMPLOYEE
    JOIN DEPARTMENT ON(DEPT_CODE =DEPT_ID)
    WHERE EMP_ID ='&사번';
    
    DBMS_OUTPUT.PUT_LINE('사번 : ' || EID);
    DBMS_OUTPUT.PUT_LINE('사원명 : ' || ENAME);
    DBMS_OUTPUT.PUT_LINE('직급코드 : ' || JCODE);
    DBMS_OUTPUT.PUT_LINE('급여 : ' || SAL);
    DBMS_OUTPUT.PUT_LINE('부서명 : ' || DTITLE);
END;

 

습득한 내용

WHERE EMP_ID = '&사번';에서 EMP_ID의 자료형이 문자열이기 때문에 ' '를 붙여서 '&사번'이라고 입력했는데
  숫자일 때는 작은 따옴표를 입력하지 않아도 된다 또 EMP_ID의 자료형이 문자열이지만
  문자열 안의 값이 숫자일 때 ORACLE에서 자동으로 형 변환 시키기에 ' '를 붙이지 않아도
    되지만, 안전상의 문제로 ' '를 붙여 주는 것이 좋다(고냥 신기해서 정리함)

오늘 배운 핵심

 핵심 내용
 <뷰 : VIEW>
    SELECT문을 저장해둘 수 있는 객체
    (자주 쓰는 긴 SELECT문을 저장해두면 그 긴 SELECT문을 매번 다시 기술할 필요없음)
    임시테이블 같은 존재(실제 데이터가 담겨있는건 아님 => 논리적인 테이블)

    < 시퀀스 : SEQUENCE >
    자동으로 번호를 발생시켜주는 역할을 하는 객체
    정수값을 순차적으로 일정값씩 증가시키면서 생성
    
    EX) 회원번호, 사원번호, 게시글번호 ...


    <PL/SQL>
    PROCEDURAL LANGUAGE EXTENSTION TO SQL
    
    오라클 자체에 내장되어있는 절차적 언어
    SQL문장 내에서 변수의 정의, 조건처리(IF), 반복처리(LOOP, FOR, WHILE)등을 지원하여 SQL단점보완
    다수의 SQL문을 한번에 실행 가능(BLOCK 구조)
    
    * PL/SQL 구조
      - [선언부 (DECLARE SECTION)] : DECLARE로 시작, 변수나 상수를 선언 및 초기화하는 부분
      - 실행부 (EXECUTABLE SECTION) : BEGIN으로 시작, SQL문 또는 제어문(조건문,반복문)등의 로직을 기술하는 부분
      - [예외처리부 (EXCEPTION SECTION)] : EXCEPTION으로 시작, 
                    예외 발생시 해결하기 위한 구문을 미리 기술해 둘 수있는 부분

 

기분 안..좋았던 점

감기에 걸려서 오늘 컨디션이 제로였는데..
집중하려고 하면 한 번씩 꾸벅거려서(졸려..)
썩 만족스럽지 않은 하루였다..

집 와서 글 적는 이 순간도 목이 답답하고 가래가

아주 전투적으로 나와서 목이 터질거 같다 (살려줘..)

 

ㄲㅡㅌ...