能否将Sql语句封装成子函数以提高可读性?
我尝试通过以下方式实现表函数 托尼·安德鲁斯示例。但我的 Sql 语句将有几行长(>20)并且还将包含参数。是否可以将 Sql 语句封装在其他地方并从 main 函数中引用它以使所有内容更具可读性?
在传统的编程语言中,我会将原始 Sql 分配到一个字符串中,并根据需要替换参数。
I try to implement a table function by following Tony Andrews example. But my Sql statement will be several lines long (>20) and will also contain parameters. Is it possible to encapsulate the Sql statement somewhere else and to refer to it from the main function to keep everything more readable?
In traditional programming languages I would assign the raw Sql into a string and replace the parameters as required.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
是的,您可以:
请注意,“q”可能非常复杂,带有连接的参数值(或可以存储为单独的 varchar 变量的子查询):
请参阅 Oracle 文档 了解如何实现此操作的更多示例。
Yes, you can:
Notice that 'q' can be quite complex, with concatenated parameter values (or subqueries that can be stored as separate varchar variables):
See Oracle's documentation for more examples of how to implement this.
受 drapkin11 的启发,我找到使用光标的解决方案:
Inspired by drapkin11 I found a solution using a cursor: