Oracle-10g

使用插入時表或視圖不存在

  • August 19, 2015

我試圖插入但得到“表或視圖不存在”錯誤。

它告訴我發生錯誤的特定行,但我無法弄清楚問題是什麼:

INSERT INTO c_ord_cur (ordid, total)
         VALUES (v_ord_rec.ordid, v_ord_rec.total);

我已經創建了表格,它顯示在 oracle 的左側面板上: 在此處輸入圖像描述

我正在使用 oracle developer sql,任何想法是什麼導致了這個問題?

整個程式碼:

Set serveroutput on

DECLARE
   CURSOR c_ord_cur IS 
   SELECT 
*
   FROM            
     shoba.ord;

   v_ord_rec   c_ord_cur%ROWTYPE;

BEGIN
   OPEN c_ord_cur;
   LOOP
       FETCH c_ord_cur into v_ord_rec;
       EXIT WHEN c_ord_cur%NOTFOUND;


       IF v_ord_rec.orderdate between '01/01/2009' and '31/12/2009' THEN
               INSERT INTO c_ord_cur (ordid, total)
             VALUES (v_ord_rec.ordid, v_ord_rec.total);
           dbms_output.put_line(v_ord_rec.orderdate||' is in ords86');
   END IF;

   IF v_ord_rec.orderdate between '01/01/2010' and '31/12/2010' THEN
               INSERT INTO c_ord_cur (ordid, total)
         VALUES (v_ord_rec.ordid, v_ord_rec.total);
       dbms_output.put_line(v_ord_rec.orderdate||' is in ords87');
       END IF;

   END LOOP;
   CLOSE c_ord_cur;

   COMMIT;

END;

這是錯誤的定義v_ord_rec c_ord_cur%ROWTYPE;。一定是v_ord_rec shoba.ord%ROWTYPE;。此外,插入語句應該插入到真實表中而不是游標中。

引用自:https://dba.stackexchange.com/questions/111527