![](/img/trans.png)
[英]Can we call procedure inside function in oracle PL/SQL? If not then why?
[英]Can we call procedure or function from anonymous block in oracle?
我可以在匿名塊中通過過程或 function 調用 pl/sql object 嗎?
這是一個非常常見的面試問題。
謝謝
是的:
SQL> set serveroutput on
SQL> --
SQL> select banner from v$version;
BANNER
--------------------------------------------------------------------------------
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
SQL> show user;
USER is "C##TEST"
SQL> --
SQL> CREATE OR REPLACE PROCEDURE myproc
2 IS
3 BEGIN
4 dbms_output.put_line('myproc: OK');
5 END;
6 /
Procedure created.
SQL> --
SQL> show errors
No errors.
SQL> --
SQL> CREATE OR REPLACE FUNCTION myfunc RETURN VARCHAR2
2 IS
3 BEGIN
4 return 'myfunc: OK';
5 END;
6 /
Function created.
SQL> --
SQL> show errors
No errors.
SQL> --
SQL> begin
2 myproc;
3 end;
4 /
myproc: OK
PL/SQL procedure successfully completed.
SQL> --
SQL> declare
2 myvar VARCHAR2(50);
3 begin
4 select myfunc into myvar from dual;
5 dbms_output.put_line(myvar);
6 end;
7 /
myfunc: OK
PL/SQL procedure successfully completed.
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.