1
내가 절차 VOTES_COUNT
를 사용하는 DB2 트리거를 만들려고 해요하지만 트리거를 만들려고 할 때 오류 얻을 :DB2 트리거 정의
CREATE PROCEDURE VOTES_COUNT (IN username VARCHAR(15), OUT votesCount INT)
DYNAMIC RESULT SETS 1
P1: BEGIN
DECLARE C1 CURSOR FOR
SELECT COUNT(*) AS R1
FROM VOTES
WHERE USER = username;
OPEN C1;
FETCH C1 INTO votesCount;
CLOSE C1;
END P1 @
CREATE TRIGGER UPDATE_LEVEL
AFTER INSERT ON VOTES
REFERENCING NEW AS N
FOR EACH ROW
BEGIN ATOMIC
DECLARE num INT;
DECLARE status INT;
CALL VOTES_COUNT(N.USERNAME, num);
CASE
WHEN num >= 300
THEN SET status = 5;
WHEN num < 300 AND num >= 200
THEN SET status = 4;
WHEN num < 200 AND num >= 100
THEN SET status = 3;
WHEN num < 100 AND num >= 50
THEN SET status = 2;
ELSE
SET status = 1;
END CASE;
UPDATE USERS SET STATUS = status WHERE USERNAME = N.USERNAME;
END @
: 여기
내 코드의를An unexpected token "" was found following "". Expected tokens may include: "SET status = 1".. SQLCODE=-104, SQLSTATE=42601, DRIVER=4.7.89
내가 뭘 잘못하고 있는지 말해 줄 수 있니?
을 감사 WOW! 그건 완벽하게 작동합니다! –
내가 도왔다 니 기쁩니다! 친애하는! –