2017-10-10 51 views
-2

這是我的代碼,PL/SQL對於與當錯誤

Declare 
For num IN 1..10 LOOP 
Continue When Mod(num,2)!=0; 
DBMS_OUTPUT.PUT_LINE(num); 
END LOOP; 
END; 
/

我收到以下錯誤:

SQL> @ E:\dbms\f7.sql 
For num IN 1..10 LOOP 
* 
ERROR at line 2: 
ORA-06550: line 2, column 1: 
PLS-00103: Encountered the symbol "FOR" when expecting one of the following: 
begin function package pragma procedure subtype type use 
<an identifier> <a double-quoted delimited-identifier> form 
current cursor 
The symbol "begin" was substituted for "FOR" to continue. 
ORA-06550: line 3, column 10: 
PLS-00103: Encountered the symbol "WHEN" when expecting one of the following: 
:= . (@ % ; 

請人給我一個工作代碼,所以我可以執行!

+1

'begin'缺少 –

+0

我也不過還是開始嘗試錯誤正在顯示! 您能否以適當的格式編寫代碼? –

+0

代碼應該做什麼?你顯示一些帶有語法錯誤的代碼,因此不會做你需要它做的事情。我們是否有某種超自然的存在,你認爲我們可以猜出你需要做什麼,從一個無效的嘗試,沒有其他解釋?無論如何,你認爲「繼續」會有什麼作用?在你的代碼中,你認爲'when'意味着什麼?你是不是指「如果」? – mathguy

回答

0

因爲你沒有任何聲明的變量您不需要declare塊,但是你錯過了begin關鍵字:

BEGIN -- Here 
    FOR num IN 1..10 LOOP 
     Continue When Mod(num,2)!=0; 
     DBMS_OUTPUT.PUT_LINE(num); 
    END LOOP; 
END; 
/
+0

執行上面的代碼之後,現在它向我顯示此錯誤 SQL> @ E:\ dbms \ f7.sql繼續當Mod(num,2)!= 0; *第3行的錯誤:ORA-06550:第3行,第18列:PLS-00103:遇到下列其中一項時遇到符號「WHEN」::=。 (@%; - –