Я создал некоторые процедуры в 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;
Я сделал некоторый поиск и единственное, что я могу думать, может быть, некоторые проблемы, связанные с определением на CURSOR ... не уверен, хотя. Заранее спасибо
Наведите «/» на отдельную строку после «END package_test;» (и после создания тела), если вы намереваетесь запустить его как скрипт. Это приведет к выполнению предыдущей команды (команды create), где в качестве запятой используется только разделение операторов. – Glenn
Вам также не хватает «T» на «INSER» и после запятой вместо «COMMIT» вместо запятой. – Glenn
Я уже пробовал это, и ошибка изменилась на «Обнаружен символ»/«". Также я прочитал в «Oracle PL/SQL Programming» Орейли, что «/» был только частью SQLPlus, и я использую SQL Developer. @Glenn, потому что я не использовал copy paste, потому что он был на другом компьютере без Интернета, поэтому я вручную скопировал его: P – Bernardo