1

我正在尝试在下面执行此过程,但出现错误。请问有人可以保释我吗

----

DELIMITER $$

CREATE DEFINER=`root`@`localhost` PROCEDURE `insert_class_code`(p_newS varchar(45), p_designation varchar(45))
BEGIN

SET @table_name = p_designation;
SET @new_supply = p_newS;

SET @sql_text = concat('insert into simsed_',@table_name,' (class) values ',@new_supply) ;

PREPARE stmt FROM @sql_text;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;

END

----

这是我得到的错误。

调用 insert_class_code('supply 3', 'supplier)

错误代码:1064。您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以获取在“supply 3”附近使用的正确语法

4

1 回答 1

2

您的以下行有错误:

SET @sql_text = concat('insert into simsed_',@table_name,' (class) values ',@new_supply) ;

使用以下代码更改它:

SET @sql_text = concat('insert into simsed_',@table_name,' (class) values ("',@new_supply,'")') ;
于 2013-09-06T05:54:32.770 回答