MySQL中带有参数的第一个存储过程

this is my query in MySQL on table tbl_T367

mysql> SELECT
    oID,
    xName
FROM
    `tbl_T367`
WHERE
    oID IN ('2')
AND xName IN ('T367');

+-----+-------+
| oID | xName |
+-----+-------+
|   2 | T367  |
+-----+-------+
1 row in set

我需要为上面的相同输出创建mysql存储过程

我的下面的代码

DELIMITER $$

DROP PROCEDURE IF EXISTS my_sqrt$$

CREATE PROCEDURE my_sqrt(xName char(4), oID INT (11))
BEGIN

DECLARE xNamenew CHAR (4);
DECLARE IDnew INT (11);

SET @xNamenew = xName;
SET @IDnew = oID;

SET @s = CONCAT('SELECT * FROM tbl_', @xNamenew, 
                ' WHERE oID IN (' + @IDnew + ') AND xName IN (' + @xNamenew + ')');
PREPARE stmt FROM @s;
EXECUTE stmt;

END

DELIMITER ;

但是结果

Procedure execution failed 1146 - Table 'tbl_T3672' doesn't exist

为什么将第二个变量的值添加到表名?

mysql> SELECT
    oID,
    xName
FROM
    `tbl_T3672`
WHERE
    oID IN ('2')
AND xName IN ('T367');
1146 - Table 'tbl_t3672' doesn't exist
mysql> 

该如何解决呢?

更新

SET @s = CONCAT('SELECT * FROM tbl_', @xNamenew, 
                ' WHERE oID IN (' , @IDnew , ') AND xName IN (' , @xNamenew ,')');

PREPARE stmt FROM @s;
EXECUTE stmt;

Procedure execution failed
1054 - Unknown column 'T367' in 'where clause'