2013-11-26 57 views
3

我試圖創建一個功能,如下圖所示,但得到的錯誤PLS-00428:into子句在SELECT語句PLS-00428:into子句預計在SELECT語句

create or replace function gettaxmin(period_tax_type_id in double precision, tax_range in number) return double precision is 
    Result double precision; 
begin 
    SELECT CASE WHEN max(tax_range) is null THEN 0 ELSE max(tax_range) END 

    FROM period_tax_rates WHERE (tax_range < 1) AND (period_tax_type_id = 2); 
    return(Result); 
end gettaxmin; 
預期

請幫助我解決這個問題。謝謝

+3

有什麼不清楚的錯誤信息? –

回答

3

您需要的結果上存入結果

create or replace function gettaxmin(period_tax_type_id in double precision, tax_range in number) return double precision INTO 
Result double precision; 
begin 
SELECT CASE WHEN max(tax_range) is null THEN 0 ELSE max(tax_range) END 

FROM period_tax_rates WHERE (tax_range < 1) AND (period_tax_type_id = 2); 
return(Result); 
end gettaxmin; 

讀成在http://dev.mysql.com/doc/refman/5.0/en/select-into.html

+0

,你有嘗試過嗎? – ajmalmhd04

4

你有你的SELECT語句的結果存儲到一個變量(在這種情況下,「結果「):

create or replace function gettaxmin 
      (period_tax_type_id in double precision, tax_range in number) 
    return double precision 
is 
    Result double precision; 
begin 
    SELECT CASE WHEN max(tax_range) is null THEN 0 ELSE max(tax_range) END 
    INTO Result 
    FROM period_tax_rates WHERE (tax_range < 1) AND (period_tax_type_id = 2); 
    return Result; 
end gettaxmin;