Tôi đang sử dụng DBMS_PROFILER để lược tả cơ bản các gói PL/SQL của mình. Tôi cũng đang sử dụng nó để có được thống kê mã số bảo hiểm bằng cách sử dụng truy vấn sau đây:Tạo báo cáo vùng phủ sóng PL/SQL với DBMS Profiler
SELECT EXEC.unit_name unitname,ROUND (EXEC.cnt/total.cnt * 100, 1) Code_coverage FROM
(SELECT u.unit_name, COUNT(1) cnt FROM plsql_profiler_data d, plsql_profiler_units u WHERE u.unit_number = d.unit_number GROUP BY u.unit_name) total,
(SELECT u.unit_name, COUNT(1) cnt FROM plsql_profiler_data d, plsql_profiler_units u WHERE u.unit_number = d.unit_number AND d.total_occur > 0 GROUP BY u.unit_name) EXEC
WHERE EXEC.unit_name = total.unit_name
tôi xóa plsql_profiler_data, plsql_profiler_units, plsql_profiler_runs bảng trước mỗi profiler chạy vì vậy mà tôi không cần phải biết chạy id mỗi lần.
Điều này sẽ cung cấp cho tôi thông tin gói khôn ngoan về tỷ lệ mã được bao gồm trong quá trình lập hồ sơ. Bây giờ tôi đang cố gắng để xem nếu điều này có thể được xây dựng như là một báo cáo bảo hiểm bình thường, nơi tôi có thể biết được dòng mã đã được bảo hiểm và một trong những wasnt (nói chọn lineOfCode, được phát hiện từ ...) để tôi có thể xây dựng một báo cáo với html định dạng để cho biết liệu một dòng có được bao phủ hay không.
Tôi không quá thành thạo trong các cấu trúc bảng Oracle vào nơi hàm và thủ tục được lưu vv (Got các truy vấn trên từ một blog và chút thay đổi để loại bỏ id chạy của)
Đây có phải là có thể?
Nếu vậy làm thế nào tôi có thể đạt được điều này?
Xem điều này có giúp ích: http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:458240723799 – Slartibartfast