日期:2014-05-16  浏览次数:20882 次

存储过程中的问题,急
delimiter //
drop procedure if exists myprocedure;
create procedure myprocedure ()
begin
  declare tablesql varchar(200);
  
  set tablesql = CONCAT ('select * from','student');
  
  prepare statement from tablesql;
  execute statement;
  end
  //

错在那里?

------解决方案--------------------
DELIMITER //
DROP PROCEDURE IF EXISTS myprocedure //
CREATE PROCEDURE myprocedure ()
BEGIN
SET @tablesql = CONCAT ('select * from','student');

PREPARE statement FROM @tablesql;
EXECUTE statement;
END //
DELIMITER ;
------解决方案--------------------
探讨

谢谢。 @tablesql 怎么来的,我不用声明为变量么,并指定大小么