CREATE TABLE table1(
column1 VARCHAR(255) DEFAULT NULL,
column2 VARCHAR(255) DEFAULT NULL,
column3 VARCHAR(255) DEFAULT NULL
);
INSERT INTO table1 VALUES
('1', 'value1', 'value2'),
('2', 'value3', 'value4');
DELIMITER $$
CREATE PROCEDURE procedure1(IN Param1 VARCHAR(255), OUT Param2 VARCHAR(255), OUT Param3 VARCHAR(255))
BEGIN
SET @c2 = '';
SET @c3 = '';
SET @query = 'SELECT column2, column3 INTO @c2, @c3 FROM table1 WHERE column1 = ?';
PREPARE stmt FROM @query;
SET @c1 = Param1;
EXECUTE stmt USING @c1;
DEALLOCATE PREPARE stmt;
SET Param2 = @c2;
SET Param3 = @c3;
END$$
DELIMITER ;
-- Call procedure and use variables
SET @Param1 = 2;
SET @Param2 = '';
SET @Param3 = '';
CALL procedure1(@Param1, @Param2, @Param3);
SELECT @Param2, @Param3;
+---------+---------+
| @Param2 | @Param3 |
+---------+---------+
| value3 | value4 |
+---------+---------+
출처 : https://codeday.me/ko/qa/20190410/297077.html
'[ 서버 & DB 관련 ] > MySQL' 카테고리의 다른 글
mysql 트리거(TRIGGER) 테스트 (0) | 2019.09.05 |
---|---|
MyISAM 과 InnoDB 엔진 비교, 그리고 잡다한 테스트.. (0) | 2019.09.04 |
테이블 존재 여부 확인 (0) | 2019.09.04 |
mysql 연결 오류 (타임존) - use a more specifc time zone value if you want to utilize time zone support (0) | 2019.08.08 |
다양한 조건에 따른 집계의 예제 (0) | 2019.07.18 |