SqlPlus查询问题(Package Spec和Body)

Jac*_*ack 5 oracle sqlplus package

我试图通过这样做从sqlplus获取包规范和正文..

select text from all_source
where name = 'PACK_JACK'
order by line;
Run Code Online (Sandbox Code Playgroud)

但我只是得到它的身体而不是规格..我必须改变以将它们两个作为一个文件..谢谢

Bas*_*Roy 7

all_source视图中有一个TYPE列.该类型可以有2个值 - 'PACKAGE'和'PACKAGE BODY'.所以要获得规范,

select text from all_source
where name = 'PACK_JACK'
and type = 'PACKAGE'
order by line;
Run Code Online (Sandbox Code Playgroud)

并得到身体

select text from all_source
where name = 'PACK_JACK'
and type = 'PACKAGE BODY'
order by line;
Run Code Online (Sandbox Code Playgroud)

此外,您可以使用user_source,而不是使用all_source.all_source包括一切,包括系统包.USER_SOURCE仅具有用户定义的包.