Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL:Übergabe von Prozedurparametern an die EXECUTE USING-Anweisung

Ich glaube nicht, dass Sie doppelte Anführungszeichen um den Parameterhalter brauchen.

Aktualisieren Hier, damit es keine Missverständnisse gibt:

DELIMITER //
CREATE PROCEDURE get_users_by_state(IN state CHAR(2))
READS SQL DATA
BEGIN
SET @mystate = state;
SET @sql = CONCAT('SELECT * FROM test_table WHERE state = ?');
PREPARE stmt FROM @sql;
EXECUTE stmt USING @mystate;
END;
//