MYSQL: хранимая процедура неправильно выполняет запрос с предложением «IN» правильно

Я пытаюсь передать строковое значение хранимой процедуре из своего кода, но она не выполняет запрос правильно. Ниже приведен код хранимой процедуры.

Я хочу передать хранимой процедуре несколько значений, например «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

person sandeep    schedule 16.01.2015    source источник


Ответы (1)


Вы должны использовать 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
person Saharsh Shah    schedule 16.01.2015