如何在Mysql存储过程中动态选择表

时间:2013-10-08 14:58:56

标签: mysql sql stored-procedures stored-functions

嘿,我试图编写一个代码来检查来自许多表的记录存在, 有没有办法动态提供表名?

我在下面的代码中看到了什么

DELIMITER $$

DROP PROCEDURE IF EXISTS `_relatives` $$
CREATE PROCEDURE `_relatives`(
  IN db_database VARCHAR(55),
  IN db_table VARCHAR(55),
  IN db_column_no VARCHAR(55),
  IN _id INT(15),
  OUT last_inserted_id INT(15)
)
BEGIN

 IF ( SELECT EXISTS (SELECT 1 FROM CONCAT(' ', db_table, ' ') WHERE CONCAT('`', db_column_no, '`')= CONCAT(' ', _id, ' ') ) )
 THEN 
            SELECT 'data';
ELSE
            SELECT 'No data';
   END IF; 

   SET last_inserted_id = LAST_INSERT_ID();

END $$

DELIMITER;

我的代码无效..请提前帮助谢谢

1 个答案:

答案 0 :(得分:0)