Today found a small thing, feel very interesting, look for some information to share with you:
In the Sqlplus:
Tools provided by third parties (e.g. Plsqldev)
Summarize:
exec is a sqlplus command that can only be used in Sqlplus.
Call is an SQL command, any tool can be used, call must have parentheses, that is, an example without parameters
Call must have parentheses, in which case there is no parameter
idle> connect/as sysdba
is connected.
sys@po10>
sys@po10> CREATE PROCEDURE p_test is
2 begin
3 null;
4 End;
5/
process has been created. The
sys@po10>
sys@po10> exec p_test
pl/sql process has been successfully completed.
sys@po10> call P_test
2;
Call P_test
*
line 1th error:
ORA-06576: Not a valid function or procedure name
sys@po10> call P_test ();
Call complete.
sys@po10>
exec can only be used in sqlplus; Call can be used everywhere
The above is a small set of Oracle database to introduce the difference between call and exec, I hope to help everyone, if you have any questions please give me a message, small series will promptly reply to everyone. Here also thank you very much for the cloud Habitat Community website support!