为什么 DBMS_METADATA.GET_DLL 不能与 EXEC 命令一起使用?

cei*_*art -2 oracle plsql

使用Oracle 11g

我只是想理解这里的概念......
为什么下面的命令不起作用?(在 SQL Developer 中执行)

execute dbms_metadata.get_ddl('VIEW', 'VW_CARGA','INT')

Error starting at line : 7 in command -
execute dbms_metadata.get_ddl('VIEW', 'VW_CARGA','INT')
Error report -
ORA-06550: line 1, column 7:
PLS-00221: 'GET_DDL' is not a procedure or is undefined
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored
06550. 00000 -  "line %s, column %s:\n%s"
*Cause:    Usually a PL/SQL compilation error.
*Action:
Run Code Online (Sandbox Code Playgroud)

我必须跑

select dbms_metadata.get_ddl('VIEW', 'VW_CARGA','INT') from dual ; 
Run Code Online (Sandbox Code Playgroud)

已经查看了手册并没有找到答案。

Bal*_*app 5

错误消息是不言自明的:

PLS-00221: 'GET_DDL' is not a procedure or is undefined
Run Code Online (Sandbox Code Playgroud)

GET_DDL 不是一个过程,它是一个返回 CLOB 值的函数。

http://docs.oracle.com/cd/E11882_01/appdev.112/e25788/d_metada.htm#ARPLS66885