如果我使用OUT或INOUT參數在MySQL中創建存儲過程,則不起作用。即使我將存儲過程留空。該DDL如下:OUT或INOUT參數不起作用
CREATE DEFINER=`root`@`localhost` PROCEDURE `testing_inout`(`a` int,INOUT `b` int)
BEGIN
END
第一個參數是一個常規參數。第二個是一個INOUT paremeter(即使設置爲OUT了同樣的問題依然存在)
當我調用這個存儲過程,我得到一個錯誤,指出:
OUT或INOUT參數2例行DB_NAME。在BEFORE觸發器中,testing_inout不是 變量或NEW僞變量。
即使在存儲過程中寫入代碼,此錯誤仍然存在。我正在運行MySQL版本5.1.41。
這對我來說是一個很大的問題,因爲我無法輸出遞歸存儲過程的結果,因爲這個錯誤。
您應該可以顯示調用該過程的語句。 –
我不認爲問題在於SP,而是在調用SP的時候觸發'BEFORE'觸發器。 –
我同意問題必須與調用SP的BEFORE觸發器一起使用。當我通過Navicat運行SP時發生此錯誤。但是當我從另一個SP調用SP時,我沒有看到錯誤。結論:Navicat的運行按鈕調用SP的方式與OUT和INOUT參數不兼容。 – prince