从mysql中的过程返回?

时间:2014-06-21 15:35:58

标签: mysql sql

我有一个英语单词数据库,我想在mysql中创建一个程序,程序的输入参数是一个单词。程序的目的是获取给定输入词的第一个字母并返回从该字母表中凝视的所有单词。 例如: 致电new_procedure(' action',@ total); 这个命令应该从我的数据库中返回所有从' a'开始的单词。 我写了以下代码,但它返回零行:( 帮助我,我是mysql的新手

CREATE DEFINER=`root`@`localhost` PROCEDURE `new_procedure`(in error_word varchar(30),
out total varchar(50))
BEGIN
declare xx varchar(2);
set xx = substring('error_word',1,1);
select word from words
where word like 'xx%'
into total;
END

2 个答案:

答案 0 :(得分:0)

尝试修改代码以查找/返回表格中的特定单词,并告诉您程序的基本语法是否正确。

示例...要求它在表格中搜索包含单词' action'并返回结果......

换句话说,注释掉试图将xx =设置为参数的第一个字符的代码...并修改代码以简单地在查询中使用整个参数。

然后您知道该过程和查询正在运行。

然后开始检查解析参数并将其放入变量的语法。

自从我完成MySQL以来已经很长时间了,但我想我会尝试建议一个故障排除技术。希望我能正确解释。

答案 1 :(得分:-1)

CREATE DEFINER=`root`@`localhost` PROCEDURE `new_procedure`(in error_word varchar(30),
out total varchar(50))
BEGIN

select word from words
where word LIKE '%' + @error_word + '%'
into total;
END