2015-01-17 35 views
0

我使用下面,但得到的錯誤,什麼是錯的這個代碼:for循環重複20次在SQL語句

declare 
begin 
for i in 1..20 
loop 
execute immediate 'update table IMP_BACKUP set name='XYZ' where status='INVALID''; 
end loop; 
end; 
/
+0

所以你得到了什麼錯誤?你可能會在聲明後錯過某些東西。 – Mihai

+2

爲什麼要執行該SQL語句20次?第一次執行應該這樣做。 –

+0

嗨羅伯特,在這個邏輯中,我們想要執行20次或n次,如果這..它是需求.. – user2500742

回答

0

聲明變量i爲

declare 
    i number(2); 
begin 
for i in 1..20 loop 
    execute immediate 'update table IMP_BACKUP set name=''XYZ'' where status=''INVALID'''; 
end loop; 
end; 
/
+0

現在它執行..雖然我有問題 ORA-06550:第5行,第19列: PLS-00114:標識符'更新表IMP_BACKUP'太長 – user2500742

+0

@ user2500742爲什麼你需要使用*立即執行* – user7

+0

我看到了一些參考資料..更新表IMP_BACKUP設置名稱='XYZ'其中status ='INVALID'..需要執行後立即..我已經嘗試沒有執行也..但沒有運氣 – user2500742