2014-12-04 80 views
1

我正在使用oracle SQL開發人員,並試圖用if語句在其中運行查詢。爲什麼oracle sql開發人員不能識別我的if語句

我已經定義了一個變量併爲其賦值。

define 
var buyer varchar2(1) 

/* define variable values */ 
exec :buyer := 'Yep' 

if :buyer = 'Yep' then 
begin 
dbms_output.put_line('Yep'); 
else 
dbms_output.put_line('Nope'); 
end; 

但是,當我運行該腳本時,我收到一條錯誤消息,指出IF是未知命令。在命令8 -
如果:

錯誤起始於線買方= '是的',則
錯誤報告 -
未知指令

任何意見是極大的讚賞。

+1

因爲你不能在PL/SQL塊之外使用'if'。 – 2014-12-04 15:46:37

回答

0

你必須定義一個DECLARE-BEGIN-END塊運行IF-ELSIF-ELSE-END的條件。 根據你的示例代碼,我假設這是你想要做的。

DECLARE 
    buyer VARCHAR2(3) := 'Yep'; 
BEGIN 
    IF (buyer = 'Yep') THEN 
    dbms_output.put_line('Yep'); 
    ELSE 
    dbms_output.put_line('Nope'); 
    END IF; 
END; 
/

您可以在SQL開發人員中將其作爲腳本運行。 HTH!

1

中查找PLSQL語法:

DECLARE 
    variable type; 
BEGIN 
    IF variable = 'test' 
    THEN 
    DBMS_OUTPUT.PUT_LINE('J'); 
    ELSE 
    DBMS_OUTPUT.PUT_LINE('N'); 
    END IF; 
END; 
/
+0

感謝您的幫助。這清除了...... :) – Squirmster 2014-12-04 15:59:12

相關問題