무회blog

DB:PL/SQL, 사용법 본문

DB

DB:PL/SQL, 사용법

최무회 2021. 2. 8. 00:38
선언부 (DECLARE)
실행부 (BEGIN ~ END)
예외처리부 (Exception)
----------------------------------------------------------------------------------------------------------
** PL/SQL **

--- output 에서 출력하기 위해 set serveroutput on; => 설정필요;
--set serveroutput on;
--
---- 변수선언
--DECLARE
--v_no NUMBER(3):= 10;
--v_hireDate VARCHAR2(30) := TO_CHAR(SYSDATE, 'YYYY/MM/DD');
--
---- 상수선언
--c_message CONSTANT VARCHAR2(50) := '안녕하세요. PL/SQL';
--
---- 실행부
--BEGIN
--  -- DBMS_OUTPUT패키지 PUT_LINE 프로시저를 이용하여 결과 출력
--  dbms_output.put_line('오늘부터 PL/SQL 수업');
--  dbms_output.put_line(c_message);
--  dbms_output.put_line(v_hireDate);
--
--END;

 

----------------------------------------------------------------------------------------------------------

-- dbms_output.put_line
-- * 특정 테이블의 로우를 검색하여 변수에 할당 후 출력



set serveroutput on;

DECLARE
     v_name VARCHAR2(20);
     v_salary NUMBER;
     v_hiredate VARCHAR2(30);

BEGIN

     SELECT last_name, salary, TO_CHAR(hire_date, 'yyyy-MM-dd')
    INTO v_name , v_salary, v_hiredate
    FROM employees
    WHERE last_name = 'Chen';

   dbms_output.put_line('검색된 사원 정보');
   dbms_output.put_line(v_name|| ' '||v_salary||' '||v_hiredate);
  
END;


----------------------------------------------------------------------------------------------------------
사원 번호 100번에 해당하는 사원이름과 부서명을 출력하세요.

--사원 번호 100번에 해당하는 사원이름과 부서명을 출력하세요.
set serveroutput on;

DECLARE

  v_emp_name VARCHAR2(50);
  v_dept_name VARCHAR2(50);

BEGIN

select last_name, department_name
  into v_emp_name, v_dept_name
  from employees e, departments d
  where e.department_id = d.department_id
  and employee_id = 100;
 
  dbms_output.put_line(v_emp_name||' '||v_dept_name);
 
END;



----------------------------------------------------------------------------------------------------------

 

Comments