2014-02-23 47 views
0

下面是一個程序的部分代碼:如何使用if來測試一個值是否在mysql的列表中?

if p_vendor_id is null then set v_msg := 'Error: parameters are not valid' 
    elseif p_vendor_id not in (select vendor_id from p_plants.vendors) then 
     set v_msg := 'Error: vendor id parameter is not a vendor in our tables' 

我得到一個語法錯誤與else if...not in。我如何測試一個值是否在列表中?

謝謝!

+0

可以共享整個錯誤? – peter

回答

0

的語法是不正確的,你應該使用分號和end if

if p_vendor_id is null then set v_msg := 'Error: parameters are not valid'; 
elseif p_vendor_id not in (select vendor_id from p_plants.vendors) then 
    set v_msg := 'Error: vendor id parameter is not a vendor in our tables'; 
end if; 

有一個在文檔的例子:http://dev.mysql.com/doc/refman/5.0/en/if.html

相關問題