SQLプログラミングとPROSDUR basic
3269 ワード
PROCEDUER
-SQLも変数を宣言した.
したがって、プログラミングを続けることができます.
DELIMITER $$
CREATE PROCEDURE
BEGIN
~実行コード...~
END $$
DELIMITER;
上の構文で宣言できます.
CALLプロセス名()を呼び出します.
IF-ELSE文を作成しましょう.
文法を変更し、再宣言する必要があります.
削除プロセスを使用します.
プロセス名の右側の()は少なくない.
クエリー・テーブルの従業員を作成するプロセス.
彼を呼びに行きます.
今回は従業員の机の上の10001番の従業員の
入社日が5年を超えていないかチェックしてみます
コメントを理解して適用するのは難しくありません.
従業員テーブル内の従業員の詳細
入社5年後の確認プロセスを作成します
この過程.
checkFiveYear 2()のかっこ内でemp number INTEGERを宣言する
整数を入力させます.
今ここにいるよ
-SQLも変数を宣言した.
したがって、プログラミングを続けることができます.
DELIMITER $$
CREATE PROCEDURE
BEGIN
~実行コード...~
END $$
DELIMITER;
上の構文で宣言できます.
CALLプロセス名()を呼び出します.
IF-ELSE文を作成しましょう.
DELIMITER $$
CREATE PROCEDURE ifProc()
BEGIN
DECLARE var1 INT; -- 변수 선언
SET var1 = 2000; -- 선언한 변수에 값 저장
IF var1 = 100 THEN -- IF문 선언
SELECT '100이 맞습니다.';
ELSE
SELECT '100이 아닙니다.';
END IF; -- IF문 종료지점
END $$
DELIMITER ;
CALL ifProc();
プロシージャを変更する場合は、プロシージャを削除します.文法を変更し、再宣言する必要があります.
DROP PROCEDURE ifProc;
DROP PROCEDUREプロセス名;削除プロセスを使用します.
プロセス名の右側の()は少なくない.
クエリー・テーブルの従業員を作成するプロセス.
彼を呼びに行きます.
DELIMITER $$
CREATE PROCEDURE getEmp()
BEGIN
SELECT * FROM employees;
END;
END $$
DELIMITER ;
call getEmp();
今回は従業員の机の上の10001番の従業員の
入社日が5年を超えていないかチェックしてみます
CREATE PROCEDURE checkFiveYear()
BEGIN
DECLARE hireDATE DATE; # 입사일을 얻어오기 위해 DATE 자료형 변수 선언
DECLARE todayDATE DATE; # 오늘 날짜 얻어오기
DECLARE days INT; # 오늘날짜 - 입사일 해서 경과일수 얻어오기
# 10001번 직원의 hire_date를 조회하는 쿼리문을 먼저 작성해보세요.
SELECT hire_date INTO hireDATE
FROM employees WHERE emp_no = 10003;
# 위 쿼리문의 결과로 나온 10001번 직원의 hire_date값을 hireDATE 변수에 저장하기 위해
# INTO 키워드를 씁니다.
SET todayDATE = CURRENT_DATE(); # 오늘 날짜를 구하는 기능
SET days = DATEDIFF(todayDATE, hireDATE); # todayDATE - hireDATE를 수행
# 경과일수가 5년을 넘었는지 체크하기
IF(days / 365) >= 5 THEN #입사경과일을 365로 나눈 값이 5보다 크면 5년 이상
SELECT CONCAT('입사한지', days, '일이 경과했습니다.');
# 아닌 경우는 '5년미만이고 days 일째 근무중' 이라고 나오게 한 다음 구문을 종료시켜주세요.
ELSE
SELECT CONCAT('5년미만이고, ', days, '일째 근무중.');
END IF;
END $$
DELIMITER ;
call checkFiveYear();
コメントを理解して適用するのは難しくありません.
従業員テーブル内の従業員の詳細
入社5年後の確認プロセスを作成します
この過程.
checkFiveYear 2()のかっこ内でemp number INTEGERを宣言する
整数を入力させます.
CREATE PROCEDURE checkFiveYear2(emp_number INTEGER) # 매번 프로시저를 수정하지 않아도 되게 매개변수를 선언합시다.
BEGIN
DECLARE hireDATE DATE;
DECLARE todayDATE DATE; #
DECLARE days INT;
SELECT hire_date INTO hireDATE
FROM employees WHERE emp_no = emp_number; # 그리고 매개변수를 적용해주면 됩니다.
SET todayDate = CURRENT_DATE();
SET days = DATEDIFF(todayDATE, hireDATE);
IF (days / 365) >= 5 THEN
SELECT CONCAT(emp_number, '번 사원은 입사한 지', days, '일이 경과했습니다.');
ELSE
SELECT CONCAT('입사한지 5년 미만입니다. ', days, '일째 근무 중');
END IF;
END $$
DELIMITER $$
call checkFiveYear2(19999);
call checkFiveYear2(20000);
今ここにいるよ
Reference
この問題について(SQLプログラミングとPROSDUR basic), 我々は、より多くの情報をここで見つけました https://velog.io/@nugoory20/SQL-프로그래밍과-PROCEDUERbasicテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol