Variables - Heeyoung-Ahn/MariaDB-with-Excel-VBA GitHub Wiki
References
- 참조1: https://randa.tistory.com/entry/Part1Chapter-3Language-Fundamentals
- 참조2: https://mariadb.com/kb/en/declare-variable/
- 참조3: https://mariadb.com/kb/en/set/
- 참조4(사용자지정변수 @): https://mariadb.com/kb/en/user-defined-variables/
지역변수: DECLARE
- 문법:
DECLARE variable_name [,variable_name...] datatype [DEFAULT value];
DECLARE start_dt DATE DEFAULT '2020-01-21';
변수조작: SET
- 문법:
SET variable_name = expression [, variable_name = expression …];
DECLARE i INTEGER;
SET i=1;
사용자 정의 변수
- 문법:
SET @변수명 = 값;
orSELECT @변수명 := 값;
SET @a = (SELECT a.currency_id FROM co_account.corporations a WHERE a.corporation_id = query_co_id);
SELECT @a := (SELECT a.currency_id FROM co_account.corporations a WHERE a.corporation_id = query_co_id);
SELECT * FROM co_account.currencies WHERE currency_id = @a;
Example
/*지역변수 사용 시 DECLARE로 변수선언*/
/*출력값이 동일한 함수의 경우 Deterministic옵션 사용*/
DELIMITER //
CREATE FUNCTION masking_name(a_name VARCHAR(128)) RETURNS VARCHAR(128) DETERMINISTIC
BEGIN
DECLARE v_name VARCHAR(128);
SELECT CONCAT(SUBSTRING(a_name, 1, 1)
, LPAD('*', CHAR_LENGTH(a_name) - 2, '*')
, SUBSTRING(a_name, CHAR_LENGTH(a_name), CHAR_LENGTH(a_name))
)
INTO v_name;
RETURN v_name;
END //
DELIMITER ;
/*DELIMITER와 세미콜론 사이 한 칸 띄어 써야 함*/
SELECT masking_name('안희영')