2010-12-19 33 views
1

我有這些表自定義查詢返回到Oracle Forms Builder中的數據塊輸出?

BOOKS

ID | GENREID(number) | COUNTRYID(number) | 

GENRES

ID | TITLE 

COUNTRIES

ID | TITLE 

在我的書中的,我需要顯示:

ID GENERES.TITLE COUNTRIES.TITLE 

我只需要從所有表中加入表或選擇數據並顯示它。對於Oracle表單設計師來說這似乎是不可能的。我的數據塊輸出顯示帶有插入ID的BOOKS表中的數據,但不包含與來自單獨表格(例如GENRES,COUNTRIES)的那些ID相對應的標題。我無法找到將自定義查詢放到數據塊的位置。

我正在使用最新的Oracle開發套件主頁。我該怎麼做呢?

回答

2

有兩種常見的方法可以做到這一點:

  • 使用查詢後觸發填充非數據庫顯示的字段和LOV,以使他們能夠插入和更新這些字段。

  • 在數據庫中創建一個視圖,並在此基礎上創建塊。

第一種是最簡單的,但他們將無法在那些非數據庫字段進行搜索沒有很多額外的工作。

第二個選項允許搜索,但在視圖中添加和更新數據會引入一些問題。我通常使用on-insert,on-update,on-delete和on-lock觸發器來手動處理這些函數並修改基表。

+0

+1。視圖的另一種可能性是在視圖上添加替代觸發器來處理DML。但是,仍然需要鎖定觸發器。 – 2010-12-20 03:22:17

1

http://sheikyerbouti.developpez.com/from_clause/from_clause.htm

- >閱讀第3步

我使用一個不少。有了這個,你可以建立你自己的查詢表單,並且還可以獲取可以插入/更新/刪除的塊(當然也可以是一張表)。這就是我如何做阻止,如用戶名和用戶名字段。

但至少在我的Forms版本中,無法在運行時更改查詢,因爲它正在將data_source_type更改回默認值。