簡體   English   中英

Oracle APEX 為復合 PK 創建代理鍵

[英]Oracle APEX Creating surrogate keys for composite PK

我有兩個表需要處理。

一張“交付”表包含作為 PK 的交付 ID、作為 FK 交付的存儲 ID 和作為 FK 的店主 ID。

另一個表“Delivery_log”包含復合主鍵,它由已交付的交付 ID 和圖書 ID 組成。

因此,我的任務是創建方便的基於交互式報表的頁面來添加和編輯這兩個表。

它應該如何工作:

  1. 首先,首頁應該顯示“Delivery”表的內容。 它適用於基本的交互式報告模板;
  2. 然后,應該有將新行添加到“Delivery”表的功能。 它也很好用;
  3. 您也應該能夠編輯這些行,但是標准的交互式報告模板在這里不起作用,因為當我們單擊 id 列左側的編輯圖標時,我想顯示另一個頁面,這也是基於交互式報告並顯示“Delivery_log”表的內容,其中交付 ID 等於我們在上一頁上單擊編輯圖標時選擇的交付 ID;
  4. 第二頁還必須包含創建按鈕以在“Delivery_log”表中添加新行
  5. 最后,當我們點擊編輯圖標時應該有一個編輯表單,但是“交付日志”表包含復合主鍵這一事實使它變得更加困難,因為這意味着我必須為該表的每一行創建一個代理鍵能夠更改作為復合主鍵一部分的書的 ID。

1、2 和 4 列表項我想象如何去做,但關於如何更改編輯圖標將用戶重定向到的頁面的問題仍然存在。 我查看了整個交互式報告生成的頁面,但根本沒有找到任何編輯圖標的自定義設置。

第二個問題是如何為“Delivery_log”表創建代理鍵以便能夠編輯和添加行。

由於deliverydelivery_log建立了主從關系,也許最簡單的選擇是使用向導並創建反映該關系的頁面; 您將在同一頁面上獲得兩個功能齊全的交互式網格。


如果你想用交互式報告和表格(這是你目前擁有的)來做,那么

  • delivery表應保留默認功能:
    • “創建”圖標(右上角)創建新的交付
    • 每個 IR 行開頭的“編輯”圖標編輯與該交付相關的數據

對於delivery_log ,有兩個選項:

  • 一種是將其交互式報表制作成用於維護delivery信息的表格; 在那里你有你需要的所有按鈕(“創建”和“編輯”),這些按鈕導致第二種形式(基於delivery_log表)
  • 另一種是編輯delivery交互式報告並添加一個新的鏈接列,這會導致基於另一個 [交互式報告 + 表單] 頁面集的交互式報告,兩者都基於delivery_log

從代理鍵列開始:我將使用序列(或標識列,如果您的 Oracle 數據庫版本支持的話)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM