[COMMENT]
매일 최소 한개 이상씩은 프로시저를 만들어 보기로 했는데, 다른 일로 빠뜨려 먹는 날들이 생기고 있다..
최대한 의식해서 빠짐없이 간단한 프로시저라도 짜는 연습을 해야지
[예제 2] 입력받은 매개변수 값에 따라서 변화하는 값 테이블에 입력하기
■만드려는 프로시저 결과 예시
LNO |
LINE |
1 |
* |
2 |
** |
3 |
*** |
4 |
**** |
1. 프로시저 생성하기
DELIMITER //
DROP PROCEDURE IF EXISTS sp_start;
CREATE PROCEDURE sp_start(IN endvar INT)
BEGIN
DECLARE i INT;
DECLARE lineval VARCHAR(20);
DROP TABLE IF exists star;
create table star(LNO INT, LINE varchar(20));
SET i = 1;
while i <= endvar DO #입력받은 매개변수 값 만큼 반복
select REPEAT('*',i) into lineval; # 입력되어야할 문자와 반복횟수를 select ~ into 절을 이용하여 변수로 지정
insert into star values(i, lineval) ;
commit;
SET i = i + 1;
END WHILE;
#SELECT * FROM star; # 결과 확인 하고 싶을 경우 추가하기
END //
DELIMITER ;
2. 프로시저 구동 및 결과 확인
CALL sp_start(5); # 프로시저 호출 : 입력 매개변수로 5를 전달
select * from star;
※ 출처
MySQL로 배우는 데이터베이스 개론 : https://opentutorials.org/course/1578/8986
'Database(DB) > mysql' 카테고리의 다른 글
[error] [ERROR] Plugin 'InnoDB' init function returned error. (0) | 2018.10.01 |
---|---|
[mysql] 커서(CORSUR) 간단 예제 (0) | 2018.09.16 |
[mysql] 프로시저 예제1 매개변수를 이용한 동적쿼리 생성 프로시저 (0) | 2018.09.12 |
[mysql] 특정 구분자로 합쳐진 데이터 분리하기 (0) | 2018.09.11 |
[mysql] error Table './mysql/user' is marked as crashed and should be repaired (0) | 2018.09.10 |