我试图从我的代码中将字符串值传递给存储过程,但它没有正确执行查询。以下是存储过程的代码。
我想将多个值传递给存储过程,例如' 2,3,4'。但是当我这样做时只需要2并抛出错误。
CREATE PROCEDURE `USP_INSERT_PROCESSED_ETC_RECORDS_TO_MAIN_TABLE`
(
IN RECORD_ID VARCHAR(20)
)
BEGIN
SELECT * FROM TX_TOLL_TRANSACTION_RECORD_DETAIL_STAGING
WHERE ID IN (RECORD_ID);
END
答案 0 :(得分:0)
您必须使用FIND_IN_SET()函数而不是IN运算符
试试这个:
CREATE PROCEDURE `USP_INSERT_PROCESSED_ETC_RECORDS_TO_MAIN_TABLE`
(
IN RECORD_ID VARCHAR(20)
)
BEGIN
SELECT * FROM TX_TOLL_TRANSACTION_RECORD_DETAIL_STAGING
WHERE FIND_IN_SET(ID, RECORD_ID);
END