我們有幾個 Apex 19.2 應用程式。
在每個應用程式中,到處都有 PL/SQL:應用程式行程、頁面行程、條件、專案源等。
有時,當我們更改資料庫中的某些內容時,例如重命名表,我們希望確保在任何應用程式中都沒有破壞 PL/SQL 代碼。
目前,每當我們重命名一個物件時,我們都會使用以下查詢在應用程式內部搜索此物件,并確保代碼片段正常作業(或使用作業區搜索功能):
select * from apex_application_computations where application_id = 1200;
select * from APEX_APPLICATION_PAGE_COMP where application_id = 1200;
select * from APEX_APPLICATION_PAGE_PROC where application_id = 1200;
select * from APEX_APPLICATION_PAGE_VAL where application_id = 1200;
select * from APEX_APPLICATION_PAGE_BRANCHES where application_id = 1200;
select * from apex_application_page_items where application_id = 1200;
select * from APEX_APPLICATION_PAGE_REGIONS where application_id = 1200;
這種方法有效,但有其局限性。例如,如果我們錯過了另一個必須查看的表,那么代碼就會被破壞。
此方法的另一個限制是有時更改會產生更復雜的后果。例如,假設我們重命名了一個表,同一個表本身并沒有直接在任何應用程式中使用,而是由應用程式中使用的視圖使用。在這種情況下,這種方法將不起作用,我們最終會得到損壞的代碼。
對于資料庫物件,我們使用以下查詢效果很好:
SELECT object_type, object_name FROM user_objects WHERE status = 'INVALID'
所以我們想知道是否有一些等效的東西適用于應用程式內部的代碼。
有誰知道我們如何在資料庫更改后立即發現應用程式中的哪一段代碼被破壞了?
uj5u.com熱心網友回復:
答案由@Doomi 給出:"Your App"--> Utilities --> Advisor 并檢查有效/無效的 SQL 或 PL/SQL 代碼
謝謝。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/367878.html
標籤:甲骨文 oracle-apex
