Я попробовал процедуру, и она сработала.
Обязательно передайте все параметры в верхнем регистре , поскольку ALL_CONSTRAINTS
содержит их в верхнем регистре, так что в вашем примере это будет
CALL dp_drop_fkey_proc('SOMEOWNERNAME', 'TABLENAME', 'CONSTRAINTNAME');
.
Если это не поможет, укажите полученную ошибку.
EDIT
То, как вы это делаете, всегда будет двумя шагами:
- Создать процедуру
- Запустите его
После того как процедура скомпилирована, вы можете запускать ее снова и снова с другими параметрами.
Если вы хотите сделать это одним вызовом, единственный способ, который имеет смысл, - это позвонить
ALTER TABLE "SOMEOWNERNAME"."TABLENAME" DROP CONSTRAINT "CONSTRAINTNAME"
EDIT2
Может быть, я не понял, что ты хотел сделать. Можете ли вы попытаться добавить символ косой черты /
в строку после вашего END;
?
-- [...]
END;
/
CALL DP_DROP_FKEY_PROC('SomeOwnerName', 'TableName', 'ConstraintName');