2015-04-17 87 views
-1

我已經創建了一個程序來確定一年是閏年還是不是。我從匿名塊調用我的過程。 這是我的代碼遇到以下符號之一時遇到符號「

declare 
x number; 
y number; 
procedure leap(z IN number) IS 
BEGIN 
if(z%400=0) 
then 
dbms_output.put_line('leap year'); 
elsif(z%100=0) 
then 
dbms_output.put_line('not a leap year'); 
elsif(z%4=0) 
then 
dbms_output.put_line('leap year'); 
else 
dbms_output.put_line('Not a year'); 
end if; 
END; 
BEGIN 
y:=&y; 
p1(y); 
END; 

我得到這些錯誤: PLS-00103:出現符號 「400」 在需要下列之一時:

型 ORA-06550:第9行,列9: PLS-00103:出現在需要下列之一時,符號 「100」:

型 ORA-06550:線12,第9欄: PLS-00103:出現符號 「4」 期待一個時以下:

類型 06550. 00000 - 「行%s,列%s:\ n%s」 *原因:通常是PL/SQL編譯錯誤。 *操作:

回答

0

試試這個:

declare 
x number; 
y number; 
procedure leap(z IN number) IS 
BEGIN 
if REMAINDER(z,400)=0 
then 
dbms_output.put_line('leap year'); 
elsif REMAINDER(z,100)=0 
then 
dbms_output.put_line('not a leap year'); 
elsif REMAINDER(z,4)=0 
then 
dbms_output.put_line('leap year'); 
else 
dbms_output.put_line('Not a year'); 
end if; 
END; 
BEGIN 
y:=&y; 
p1(y); 
END; 
+0

試過,仍然得到同樣的錯誤。 –

+0

你確定嗎?因爲它適用於我的情況。我正在添加sqlfiddle鏈接到簡化版本,以便您可以親自看到http://sqlfiddle.com/#!4/cfbd6/39 – Guneli

+0

我做到了,我收到了這個 PLS-00103:遇到符號「 400「當期待以下之一: 類型<一個標識符>

相關問題