У меня есть следующие два запроса: один - запрос процедуры создания, а другой - вызов той же процедуры.Я хочу запустить два запроса в скрипте. Oracle. Нужна помощь
они оба работают нормально при запуске индивидуально, но когда я пытаюсь запустить их вместе за один раз, я получаю ошибки: как выполненные с предупреждениями, и результаты не соответствуют этому.
не могли бы вы рассказать мне, как я могу достичь этого? может быть, он должен сделать это с помощью немедленного выполнения, но я новичок в этом, поэтому не знаю, как преобразовать свой первый запрос, который будет выполнен с немедленным выполнением.
Заранее спасибо Ашиша
CREATE or replace PROCEDURE DP_DROP_FKEY_PROC (NS IN varchar2,
NM IN varchar2, FK IN varchar2)
IS
S VARCHAR2(150) := '';
I NUMBER;
BEGIN
I := 0;
SELECT COUNT(*) INTO I FROM ALL_CONSTRAINTS C
WHERE (C.OWNER = NS) AND (C.TABLE_NAME = NM) AND (C.CONSTRAINT_NAME = FK) ;
IF (I = 1) THEN
S := 'ALTER TABLE "' || NS || '"."' || NM || '" DROP CONSTRAINT "' || FK || '"';
EXECUTE IMMEDIATE S;
END IF;
END;
CALL DP_DROP_FKEY_PROC('SomeOwnerName', 'TableName', 'ConstraintName');
Как выполнить второй запрос «индивидуально», если он вызывает процедуру? Какая у вас ошибка? –
i сначала выполните первый запрос, который создаст процедуру, а затем я выполню второй запрос, который вызовет процедуру, и он работал нормально в два этапа. но я хочу выполнить оба запроса за один раз. , когда я делаю это, я получаю следующую ошибку: Предупреждение: исполнение завершено с предупреждением ПРОЦЕДУРА DP_DROP_FKEY_PROC Скомпилировано. – Ashish
Предупреждение: выполнение завершено с предупреждением ПРОЦЕДУРА DP_DROP_FKEY_PROC Скомпилировано. – Ashish