嘿傢伙試圖使用循環,雖然天,所以我的腳本不會失敗循環無法執行每次我不知道我在做什麼錯但是我知道一個事實選擇語句是好的,工作它只是循環我有麻煩也是有可能有循環檢查表中的最大日期刪除只有最近一天的情況下不完整的數據,然後添加只有什麼需要日期?Oracle PL/SQL循環問題
錯誤行41列4: PL/SQL:ORA-00933:SQL命令不能正確地結束 ORA-06550:行7米1列:忽略 PL/SQL語句
delete Target_table
commit;
DECLARE
i_date date;
BEGIN
i_date := '01-Jan-2014';
WHILE i_date < sysdate LOOP
insert into Target_table
Select field_1,
field_2
From Data_table_1
LEFT JOIN Data_table_2
ON Data_table_1.ACCOUNT_ID=Data_table_2.account_id
Where Data_table_1.Date >= i_date
and Data_table_1.Date < i_date+1
and Data_table_1.COST_CENTRE In ('1','2','3','4','5','6','7','8','9','10')
And Data_table_1.field_3 In ('C', 'D')
And Data_table_1.field_4 Is Null
And Data_table_2.field_5 in (1,2)
END;
commit;
i_date := i_date +1;
END LOOP;
END
總是有助於發佈錯誤消息。使用DateAdd():'DATEADD(d,1,i_date)'。另外,將'i_date'聲明爲'YYYY-MM-DD'。 – Parfait
我的日期被初始化爲一個字符串。將其轉換爲日期'i_date = to_date('01 -JAN-2014','DD-MON-YYYY')' – brenners1302
添加了錯誤 –