INSERT INTO [dst_table] SELECT * FROM [src_table];
테이블의 내용을 복사해주는 코드라고 한다.
CALL
키워드로 프로시저를 호출할 수 있음DELIMITER //
CREATE PROCEDURE return_session_count(IN channelName varchar(64), INOUT totalRecord int))
BEGIN
SELECT COUNT(1) INTO totalRecord
FROM session_details
WHERE channel = channelName;
END //
DELIMITER;
SET @facebook_count = 0
CALL return_session_count('Facebook', @facebook_count);
SELECT @facebook_count;
DELIMITER $$
CREATE FUNCTION Channel_Type(channel varchar(32))
RETURNS VARCHAR(20)
DETERMINISTIC
BEGIN
DECLARE channel_type VARCHAR(20);
IF channel in ('Facebook', 'Instagram', 'Tiktok') THEN
SET channel_type = 'Social Network';
ELSEIF channel in ('Google', 'Naver') THEN
SET channel_type = 'Search Engine';
ELSE
SET channel_type = channel;
END IF;
RETURN (channel_type);
END$$
SELECT channel, Channel_Type(channel) FROM prod.channel;
CREATE TABLE name_gender_audit (
name varchar(16),
gender enum('Male', 'Female'),
modified timestamp
);
CREATE TRIGGER before_update_name_gender
BEFORE UPDATE ON name_gender
FOR EACH ROW
INSERT INTO name_gender_audit
SET name = OLD.name,
gender = OLD.gender,
modified = NOW();
쿼리가 어떻게 수행되는지 내부를 보여주는 SQL 명령. 쿼리문 앞에 EXPLAIN
키워드만 붙이면 된다.
원래는 아침에 강의를 다 들었는데, 어제 늦게 자서 그러지 못했다. 오후에 들으려고 하니 뭔가 집중도 안되고, 산만한 기분이었다. 강의는 계속 아침에 듣도록 노력해보자.