반응형
저장 프로시저는 두 행을 업데이트합니다.
DELIMITER //
CREATE OR REPLACE PROCEDURE GET_USER_PNTS(USER_ID INT , PNTS INT, QNT INT)
BEGIN
DECLARE x INT DEFAULT 1;
DECLARE TEMP_GIFT_ID INT;
UPDATE USR_PNT_SUMM SET USD_PNTS = USD_PNTS + PNTS WHERE USER_ID = 1;
COMMIT;
END //
DELIMITER ;
위에 저장된 프로시저는 user_id = 1에 대한 행과 userid 0에 대한 행 두 개를 업데이트합니다.왜 그런지 이해가 안 돼요!
저장 프로시저를 이렇게 부릅니다 - CALL GET_USER_PNTS(1, 1, 1)
user_id 0도 업데이트 되는 이유를 알려주세요.
추신 1. MariaDB를 사용하고 있습니다. 2. UserID 0은 제가 표에 수동으로 추가한 것입니다.실제로는 0 user_id가 없습니다.그러나 그 때에도 행이 업데이트되지 말았어야 했습니다.
매개 변수 이름을 변경하십시오.
CREATE OR REPLACE PROCEDURE GET_USER_PNTS(L_USER_ID INT , L_PNTS INT, L_QNT INT)
BEGIN
DECLARE x INT DEFAULT 1;
DECLARE TEMP_GIFT_ID INT;
UPDATE USR_PNT_SUMM SET USD_PNTS = USD_PNTS + L_PNTS WHERE USER_ID = L_USER_ID;
COMMIT;
END //
아마USER_ID = USER_ID
사실로 취급됩니다.
언급URL : https://stackoverflow.com/questions/45907093/stored-procedure-updates-two-rows
반응형
'source' 카테고리의 다른 글
팬더를 코드에 적용하려면 언제 사용해야 합니까? (0) | 2023.09.28 |
---|---|
우커머스에서 행당 상품 수 변경 (0) | 2023.09.28 |
Oracle to_date 함수 테스트 (0) | 2023.09.28 |
XAMPP 폴더에서 MySQL 데이터베이스 테이블의 정확한 위치는 무엇입니까? (0) | 2023.09.28 |
: : : (0) | 2023.09.28 |