【发布时间】:2015-07-21 16:08:34
【问题描述】:
我的数据库使用 mysql workbench 6.2。
我创建了执行查询字符串的过程,但它为变量“declare @str varchar(2000)”报错“语法错误意外”。我尝试删除变量中的“@”,但在“PREPARE stmt FROM str;”行中无效。它通知错误“unexpected str”
这是我的代码:
CREATE DEFINER=`root`@`localhost` PROCEDURE `new_procedure`()
BEGIN
declare @str varchar(2000) DEFAULT '';
set @str = 'select * from category;';
PREPARE stmt FROM @str;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
END
【问题讨论】:
-
仅删除
@无济于事,准备好的语句必须使用会话变量。 (请参阅下面的改进答案)
标签: mysql