Salesforce和SAP Netweaver裡資料庫表的後設資料設計

i042416發表於2019-02-14

Salesforce

when you define a new application object or write some procedural code, Force.com does not create an actual table in a database or compile any code. Instead, Force.com simply stores metadata that the system’s engine can use to generate the virtual application components at runtime.

當我們在force.com裡建立新的應用物件或是編寫一些儲存過程程式碼時,force.com並不會生成物理的資料庫表或者進行儲存過程程式碼編譯,而是採取輕量級的操作,將對應的後設資料寫入儲存中,這些後設資料能通過系統引擎在執行時生成必要的物理模型。

When you need to modify or customize something about the application schema, like modify an existing field in an object, all that’s required is a simple non-blocking update to the corresponding metadata.

當我們在開發過程中需要修改應用schema物件時,在Editor裡所有的修改均為簡單的後設資料修改,非常輕量。

ABAP

ABAP裡的一張已經存在的資料庫表,如果編輯後沒有啟用,則改動對整個ABAP workbench不可見。一張新建立的表,如果沒有生成runtime object-執行時物件,則根本無法使用。

Salesforce和SAP Netweaver裡資料庫表的後設資料設計

下圖是一張新建的ABAP資料庫表:

Salesforce和SAP Netweaver裡資料庫表的後設資料設計

沒有生成runtime object, 則其他程式和ABAP DDIC物件均無法使用。

Salesforce和SAP Netweaver裡資料庫表的後設資料設計

SAP HANA

和salesforce及SAP ABAP DDIC類似,看個例子。

使用SQL SELECT TOP 1000 * FROM "SAPAG3"."COMM_PRODUCT"查詢這個表的內容。

Salesforce和SAP Netweaver裡資料庫表的後設資料設計

那我如果想根據這個表的名稱COMM_PRODUCT, 用SQL查詢出它所有的metadata,應該怎麼操作呢?

SELECT *FROM    "SYS"."TABLE_COLUMNS"WHERE SCHEMA_NAME = 'SAPAG3' AND TABLE_NAME = 'COMM_PRODUCT'ORDER BY POSITION

查詢出的後設資料如下圖所示:

Salesforce和SAP Netweaver裡資料庫表的後設資料設計

要獲取更多Jerry的原創文章,請關注公眾號"汪子熙":


Salesforce和SAP Netweaver裡資料庫表的後設資料設計


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24475491/viewspace-2633847/,如需轉載,請註明出處,否則將追究法律責任。

相關文章