When I try to run a stored procedure using EXECUTE, the proc runs fine. When I use CALL, I get "ORA-06576: not a valid function or procedure name". I am connecting directly via toad. Why can’t I use call?
I have tried both of these Calls:
CALL(BPMS_OWNER.DAILY_PARTITION_NOROTATE('MIP_TEST',5,5,'MIP_TEST_',5,FALSE,TRUE));
CALL BPMS_OWNER.DAILY_PARTITION_NOROTATE('MIP_TEST',5,5,'MIP_TEST_',5,FALSE,TRUE);
The reason I need to use CALL is that our platform parses SQL before we send it to Oracle, which for whatever reason does not support EXECUTE.
Simply because
callrequires that you add parenthesis, for instance,call my_proc()If I set up a little test:
And run this several different ways you’ll see
Why do you need to use
call? Isn’texec,executeandbegin ... endenough?Based on your update the problem is the booleans, which
calldoesn’t seem to support. Creating yet another small procedureand running it proves this
I don’t quite understand your reasoning behind why you can’t use
execorexecutebut assuming these are both off limits why not just use a traditional, anonymous PL/SQL block?