2011-08-15 23 views
1

我使用Navicat的精简版mysql数据库未知列。错误Navicat的精简版的MySQL GUI:在“字段列表”

我的数据库是测试

和我有模式一个名为交易表: 日期,共享名,buyORsell,数量,finalrate

我想创建一个新的过程,它需要一些输入并输出一些结果,我希望当我执行这个过程时,这个过程要求用户输入参数并相应地输出结果。

我的要求:给定的输入(交易类型,即“买入”或“卖出”),它应该输出的所有与该类型交易

我创建了一个功能,然后单击程序

BEGIN 
    #Routine body goes here... 
select * from test.transactions where buyORsell = intype; 
END 

在下面的空间,我看到:

IN `intype` char 

但当我在运行此prcedure和类型卖“输入参数”,弹出-U P,我得到的错误:

未知列在“字段列表”“卖出”

请帮助..

+1

buyORsell什么列一个伟大的名字.... – Bruce

+0

只是好奇 - 什么是在这种情况下使用存储过程你的目标是什么?看起来就像一个简单的SQL查询将独自完成 – JM4

回答

0

您的存储过程定义错误,忘了包括输入法菜单作为参数

0

看起来它可能是一个问题的Navicat。我现在使用HeidiSQL的功能,似乎工作正常。我是否不使用paramater -

随着Navicat的,当我有一个输入参数出现了同样的问题。像Martin一样,我可以清除BEGIN ... END中的所有代码,但如果使用任何char或varchar输入参数,仍然会出现错误。

事实上,使用VARCHAR作为输入参数总是给人使用的Navicat ANY功能的保存/编译错误。用Navicat,Varchar在功能上似乎完全破碎了。

1

我有同样的问题。我通过定义长度为char的字符(即char(254))来修复它,然后在出现提示时将输入字符串换成引号。

相关问题