我想与一些经验丰富的Oracle开发人员讨论后端开发的最佳实践. 我编写了许多以XML格式打印数据并由HTTP服务使用的软件包. 为此,我遍历游标并使用htp.p打印数据. 例如 for i in c_my_cursor l
我编写了许多以XML格式打印数据并由HTTP服务使用的软件包.
为此,我遍历游标并使用htp.p打印数据.
例如
for i in c_my_cursor loop htp.p('<element>', i.data_field, '</element>'); end loop;
现在我听说游标对性能有害(这是真的吗?).此外,在不同的包中使用类似的游标,从维护的角度来看,我觉得切换到功能会更好.
但是我可以从函数中返回什么?我不认为游标会起作用.你们有什么用?
游标本身并不坏.有什么不好的是处理Row By Agonizing Row,而不是使用set processing. SQL就是The Joy Of Sets.游标的问题在于PL / SQL开发人员经常自动获取它们;当一个直接的SQL语句更有效时,这经常导致我们沿着RBAR路线走下去.功能并不比程序更有效.根据您是在做某事还是检索某些内容来选择功能或程序.
在您的情况下,我会考虑Oracle的内置XML功能是否适用于您的特定情况.这部分取决于您使用的Oracle版本,但几乎任何版本,因为8i将与您发布的特定示例一起使用. Find out more.