我有我編寫的代碼,但問題是我不能在那裏使用ELSEIF
語句,我不知道爲什麼,Oracle開發人員不讓我執行它。IF和ELSIF PL/SQL
有人能幫我解決這個問題嗎?
DECLARE
CURSOR p_cursor IS
SELECT PRODUCT_NAME, PRICE
FROM PRODUCT
ORDER BY PRICE ;
p_row p_cursor%ROWTYPE ;
p_name VARCHAR2(30) ;
p_price NUMBER ;
BEGIN
dbms_output.put_line(RPAD('Product Name', 25, ' ') || 'Price Status');
dbms_output.put_line(RPAD('-', 24, '-') || RPAD(' -', 14, '-'));
FOR p_row IN p_cursor
LOOP
p_name := p_row.PRODUCT_NAME;
p_price := p_row.PRICE ;
IF p_price < 5 THEN
dbms_output.put_line(RPAD(p_name, 25, ' ') || ' Low');
END IF;
IF p_price > 5 AND p_price < 20 THEN
dbms_output.put_line(RPAD(p_name, 25, ' ') || ' Medium');
END IF;
IF p_price > 20 THEN
dbms_output.put_line(RPAD(p_name, 25, ' ') || ' High');
END IF;
END LOOP;
END;
我想有這樣的事情
IF p_price < 5 THEN
dbms_output.put_line(RPAD(p_name, 25, ' ') || ' Low');
ELSEIF p_price > 5 AND p_price < 20 THEN
dbms_output.put_line(RPAD(p_name, 25, ' ') || ' Medium');
ELSE
dbms_output.put_line(RPAD(p_name, 25, ' ') || ' High');
END IF;
你沒有有任何錯誤消息? –
您的代碼不包含'p_price = 5'的情況。 –