我正在使用navicat lite与mysql数据库。
my database is test
和我有一个名为transactions的表,schema:日期、sharename buyORsell、数量、finalrate
我正在尝试创建一个新的过程,它接受一些输入并输出一些结果,我希望当我执行这个过程时,这个过程向用户询问输入参数并相应地输出结果。
我的要求:给定一个输入(事务类型,即'buy'或'sell'),它应该输出该类型
的所有交易创建一个函数并点击procedure
BEGIN
#Routine body goes here...
select * from test.transactions where buyORsell = intype;
END
在下面的空格中,我看到:
IN `intype` char
但是当我运行这个过程并在"输入参数"弹出框中输入sell时,我得到了错误:
未知列'sell' in 'field list'
请帮. .
我也遇到了同样的问题。我通过定义具有长度的字符(即char(254)
)然后在提示时将输入字符串括在引号中来固定它。
存储过程定义中有一个错误,忘记将intype作为参数包含
看起来这可能是一个导航问题。我现在使用HeidiSQL函数,这似乎工作得很好。
对于Navicat,当我有一个输入参数时,无论我是否使用该参数,都会出现同样的问题。像Martin一样,我可以从BEGIN中清除所有代码……结束,但如果我使用任何char或varchar输入参数仍然得到错误。
事实上,使用varchar作为输入参数总是会在使用Navicat的任何函数中产生保存/编译错误。对于Navicat,函数中的Varchar似乎完全被打破了。