2009-12-16 34 views
1

我想在oracle中編寫一個通用存儲過程。例如,我想將表名稱作爲輸入,然後對其進行處理。 我想學習一些示例泛型代碼和在oracle中編寫通用存儲過程的基礎知識。 任何人都可以挑選代碼片段/鏈接到網站或其他材料嗎?oracle中的通用存儲過程

回答

5

Generic =動態SQL,「原生動態SQL」(Execute Immediate)或DBMS_SQL包。 http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14251/adfns_dynamic_sql.htm#i1006546

通常在編譯過程時會解析SQL語句,但是如果表名不是已知的,那麼這個表是不可能的 - 在編譯時這個表當然不會存在。

以下是有關該主題的文檔的鏈接和示例。

http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14261/dynamic.htm#LNPLS011

http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14251/adfns_dynamic_sql.htm#ADFNS008

一個忠告 - 不要使用動態SQL,如果你可以使用靜態SQL。靈活性是有代價的。