我有一個英文單詞數據庫,我想在mysql中做一個程序,程序的輸入參數是一個單詞。程序的目的是取給定輸入詞的第一個字母並返回從該字母開始的所有詞。例如: : call new_procedure('action',@ total); 這個命令應該返回從我的數據庫中所有從'a'開始的單詞。 我寫了下面的代碼,但它返回零行:( 幫助我,我是新MySQL的從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
你不能把'xx'放在引號內,因爲那麼它被當作字符串'xx',而不是名爲xx的變量。您需要使用'CONCAT(xx,'%')' –
yes thankyou concat命令正在工作。但我認爲在返回輸出時存在一些問題。我希望至少獲得1000行,但是會排空行:( – Mohsin
)如果您想從MySQL過程返回結果集,只需執行SELECT,不要使用'INTO total',然後從'CALL '在你的應用程序中查詢,就像你從SELECT中得到的那樣。這個過程將會有一個結果集。 –