너래쟁이 2018. 2. 15. 18:25
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
DROP PROCEDURE IF EXISTS ifProc; -- 기존에 만든 적이 있다면 삭제
DELIMITER $$
CREATE PROCEDURE ifProc()
BEGIN
    DECLARE var1 INT;  -- var1 변수 선언 
    SET var1 = 100-- 변수에 값 대입 
 
    if var1 = 100 then -- 만약 @var1이 100이라면,
        select '100입니다';
    ELSE
        select '100이 아닙니다';
    end if;
end $$
DELIMITER ;
call ifProc();
cs

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
DROP PROCEDURE IF EXISTS ifProc2;
USE employees;
 
DELIMITER $$
CREATE PROCEDURE ifProc2()
BEGIN
    DECLARE hireDate DATE; -- 입사일
    DECLARE curDATE DATE; -- 오늘
    DECLARE days INT-- 근무한 일수 
    
    SELECT hire_date INTO hireDate -- hire_date열의 결과를 hireDATE에 대입
        FROM employees.employees
        WHERE emp_no = 10001;
 
    SET curDATE = CURRENT_DATE(); -- 현재 날짜 
    SET days = DATEDIFF(curDATE, hireDATE); -- 날짜의 차이, 일 단위 
 
    IF (days/365>= 5 THEN -- 5년이 지났으면
        SELECT CONCAT('입사한지 ', days ,'일이나 지났습니다. 축하합니다.');
    ELSE
        SELECT '입사한지 ' + days + '일 밖에 안되었네요 열심히 일하세요 ';
    END IF;
END $$
DELIMITER ;
CALL ifProc2();
cs