1

正如许多在 Oracle 上从事 PL/SQL 开发工作的人可能在他们的职业生涯中所经历的那样,创建包以处理特定表上的数据访问层是很常见的。我的意思是,给定一个表'employee'是创建一个包'da_employee'('da'代表'数据访问')的普遍做法,该包实现诸如ins()之类的例程,以便将一行插入员工,del () 用于删除一行,upd() 用于更新,lock() 用于锁定,...,我可以继续...

包的内容可能会根据需要和个人选择而有所不同,但可以说,一旦为表设计了数据访问包的结构,我计划在我的模式中创建数百个表可能需要基于相同设计的包。

在这一点上,我可以说可以使用存储在数据库中的元数据和包本身的模板来自动生成这种包。

我想我不是第一个得出这个结论的人,所以我想知道周围是否有这样的代码生成解决方案,无论是商业的还是免费的。

4

2 回答 2

0

Toadworld 不再提供 CodeGen 实用程序。我现在正在研究在 PL/SQL Challenge 站点 (plqlchallenge.com) 上为 TAPI(以及更普遍的数据访问层)生成提供替代方案。Rick,我很想和你谈谈你的 - 请随时通过 steven@stevenfeuerstein.com 与我联系。

关于是否使用TAPI的问题:我认为首先关注基本原理,然后寻找最佳解决方案是最重要的。

对我来说,关键原则是避免在我的应用程序中重复 SQL 语句,从而更容易优化、维护和增强这些语句。因此,数据访问层至关重要。我们中的一些人构建了在单个表上执行 DML 的应用程序,因此我们发现 TAPI 很有用。其他人则不喜欢“XAPI”(事务 API)。

这些天来,我编写的包包含两者的一部分——并尽可能多地生成它。

于 2013-12-31T11:02:53.097 回答
0

你可以试试

https://code.google.com/p/tapig/

我简要地看了看..但它有一个问题,因为我的表名中带有_

于 2014-02-21T11:04:40.067 回答