2009-12-16 69 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。灵活性是有代价的。