2014-05-25 42 views
0

我有這個函數,我想運行...此函數需要返回job_ids,以A開頭...我很困惑!子查詢返回多於1行(Sql函數)

我得到這個錯誤! 任何想法...我知道一個函數需要有參數,但我不知道該傳什麼... 23:47:05 select job_id()LIMIT 0,1000錯誤代碼:1242子查詢返回超過1行

delimiter $ 
create function Job_id() 
returns char 
reads sql data 
begin 
    return (select job_id 
      from job_history 
      where job_id like 'A%'); 
end$ 
delimiter ; 
+0

有人知道這是如何工作的嗎? – Whizz

+2

你想在什麼情況下使用它?函數旨在返回標量值,而不是表數據。存儲過程可以返回表數據... –

回答

1

MySQL documentation爲函數表示:

語句返回結果集可以存儲 程序內,但不在所存儲的函數

內使用

如果你需要一個結果集,那麼就像@Michael Berkowsky所說的那樣,使用存儲過程或者一個視圖可以滿足你的需求。