+ -
当前位置:首页 → 问答吧 → call getall(表名)

call getall(表名)

时间:2011-12-19

来源:互联网

SQL code

delimiter //

 create procedure getall(table_name varchar(50),num int(5))
 begin
 select * from table_name limit 0,num;
 end//

call getall('users',10)//




为什么提示 table_name不存在啊, 我明明定义的 table_name是个变量的。

作者: mlxq1005   发布时间: 2011-12-19

set @asql=concat('select * from ',table_name,' limit 0,',num);
prepare stml from @asql;
execute stml;

作者: WWWWA   发布时间: 2011-12-19

delimiter //

create procedure getall(table_name varchar(50),num int(5))
begin
set @sql=concat('select * from ',table_name,' limit 0,',num);
PREPARE stmt1 from @sql;
EXECUTE stmt1;
DEALLOCATE PREPARE stmt1
end//

call getall('users',10)//

作者: ACMAIN_CHM   发布时间: 2011-12-19