mysql 프로시져에서 delete 쿼리문 수행 후 정상적으로 삭제된 건수를 알 수 있는 함수를 사용하는데 오류가 발생 합니다. 0 2 1,692

by 정태웅 [MySQL] [2020.10.06 14:56:05]


IF @insert_cnt > 0 
     THEN 
        SET @insert_msg = "TM_PT_HIS_MSR Table Insert End OK";
        SELECT @insert_msg;     
     
        DELETE FROM TM_PT_MSR WHERE ID > ' ' AND LOC_DATE < @loc_date_mysql;
     
        IF mysql_affected_rows() > 0 THEN 
           COMMIT;
           SET @procedure_exe_msg = "PROCEDURE INSERT_TM_PT_HIS_MSR JOB SUCCESS";
           SELECT @procedure_exe_msg;
        ELSE 
           ROLLBACK;
           SELECT @procedure_exe_msg;
        END IF;   
     ELSE
        SET @insert_msg = "TM_PT_HIS_MSR Table Insert ERROR";
        SELECT @insert_msg;     
     END IF; 

 

프로시져를 호출하면 ERROR 1305(4200) : FUNCTION teemsv2.mysql_affected_rows does not exist 오류가 발생합니다. 

선배님들 해결방안 조언 좀 부탁드립니다. 

 

by pajama [2020.10.06 15:44:55]

mysql_affected_rows() 는 php함수같네요. 프로시저 내에서는 row_count()를 사용하시면 될 것 같습니다.

MariaDB [test]> delete from t1_copy;
Query OK, 16 rows affected (0.006 sec)

MariaDB [test]> select row_count();
+-------------+
| row_count() |
+-------------+
|          16 |
+-------------+
1 row in set (0.000 sec)

 


by 정태웅 [2020.10.06 16:35:59]

감사합니다. 

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입