2011-08-08 27 views
5

tôi đang cố gắng để có được gói spec và cơ thể từ sqlplus bởi làm như vậy ..vấn đề truy vấn sqlplus (Gói Spec và Body)

select text from all_source 
where name = 'PACK_JACK' 
order by line; 

nhưng tôi chỉ đang nhận được cơ thể của nó không spec .. những gì tôi có để thay đổi để có được cả hai tập tin đó dưới dạng một tệp .. Cảm ơn bạn

Trả lời

6

Có cột TYPE trong chế độ xem all_source. Loại có thể có 2 giá trị - 'PACKAGE' và 'PACKAGE BODY'. Vì vậy, để có được spec,

select text from all_source 
where name = 'PACK_JACK' 
and type = 'PACKAGE' 
order by line; 

và để có được cơ thể

select text from all_source 
where name = 'PACK_JACK' 
and type = 'PACKAGE BODY' 
order by line; 

Bên cạnh đó, thay vì sử dụng all_source, bạn có thể sử dụng user_source. all_source bao gồm tất cả mọi thứ bao gồm các gói hệ thống. USER_SOURCE chỉ có các gói do người dùng xác định.

2

Để có được cơ thể gói, bạn chạy:

select text from all_source 
where name = 'PACK_JACK' 
    and type = 'PACKAGE BODY' 
order by line; 

Trái ngược với:

select text from all_source 
where name = 'PACK_JACK' 
    and type = 'PACKAGE' 
order by line; 

Nhưng rất có thể là bạn không có quyền để xem cơ thể gói. Vì vậy, nó ẩn từ bảng ALL_SOURCE.

Các vấn đề liên quan