0
我已經在SQL Developer中創建了一些程序,它們工作正常。但是我現在創建一個包包括所有這些程序,並且似乎無法弄清楚的代碼包的正確方法,因爲它返回以下錯誤(指的包體的CREATE):定義程序包內的程序
PLS-00103: Encountered the symbol "CREATE"
這裏是我的代碼:
CREATE OR REPLACE PACKAGE package_test AS
PROCEDURE copy_object;
END package_test;
CREATE OR REPLACE PACKAGE BODY package_test AS
PROCEDURE copy_object IS
CURSOR object_cursor IS
SELECT COD_OBJECT, OBJECT_NAME FROM OBJECT;
object_rec object_cursor%rowtype;
BEGIN
EXECUTE IMMEDIATE 'TRUNCATE TABLE DATABASE2.D_OBJECT';
FOR object_rec IN object_cursor
LOOP
INSERT INTO DATABASE2.D_OBJECT (COD_OBJECT,OBJECT_NAME) VALUES (object_rec.OOD_OBJECT,object_rec.OBJECT_NAME);
END LOOP;
COMMIT;
END copy_object;
END package_test;
我已經做了一些搜索,我能想到的唯一的事情是可能與定義上的光標一些問題...不知道,但。在此先感謝
在「END package_test;」之後的另一行放置「/」 (並在創建主體之後),如果您打算將其作爲腳本運行。這將執行前面的命令(create命令),其中分號只是分隔語句。 – Glenn 2012-07-20 11:22:14
您還在「INSER」上缺少「T」,並且在「COMMIT」而不是分號後留有逗號。 – Glenn 2012-07-20 11:36:55
我已經試過了,錯誤更改爲「遇到符號」/「」。另外我在Oreilly的「Oracle PL/SQL編程」中讀到「/」只是SQLPlus的一部分,而我正在使用SQL Developer。 @Glenn這是因爲我沒有使用複製粘貼,因爲它在沒有Internet的另一臺計算機中,所以我手動複製它:P – Bernardo 2012-07-20 11:37:15