您好刚刚开始学习 MYSQL 任何加速它的建议....我很好奇为什么这段代码没有 working.procedure 创建但不起作用
HI have just started learning MYSQL any suggestions to speed it up.... and i am curious why this code is not working.procedure created but not work
DELIMITER $$
USE DB_1$$
create procedure SHOWTAB(in tab varchar(255) )
BEGIN
SELECT * FROM tab ;
END$$
DELIMITER ;
CALL SHOWTAB(emp);
emp 是 TABLE 我的数据库
错误代码:1054。'field list'
中的未知列 'emp'
Table 和列名不能是变量。如果要动态指定 table 名称,则必须动态构造 SQL。
DELIMITER $$
USE DB_1$$
create procedure SHOWTAB(in tab varchar(255) )
BEGIN
SET @sql = CONCAT('SELECT * FROM `', tab, '`');
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
END$$
DELIMITER ;
并且在调用过程时需要引用名称 emp
使其成为字符串。
CALL SHOWTAB('emp');
DELIMITER $$
USE DB_1$$
create procedure SHOWTAB(in tab varchar(255) )
BEGIN
SELECT * FROM tab ;
END$$
DELIMITER ;
CALL SHOWTAB(emp);
emp 是 TABLE 我的数据库
错误代码:1054。'field list'
中的未知列 'emp'Table 和列名不能是变量。如果要动态指定 table 名称,则必须动态构造 SQL。
DELIMITER $$
USE DB_1$$
create procedure SHOWTAB(in tab varchar(255) )
BEGIN
SET @sql = CONCAT('SELECT * FROM `', tab, '`');
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
END$$
DELIMITER ;
并且在调用过程时需要引用名称 emp
使其成为字符串。
CALL SHOWTAB('emp');