2011-08-15 26 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))來修復它,然後在出現提示時將輸入字符串換成引號。

相關問題