回答
它在我看来更像一个设计问题。 所以这取决于你需要达到什么以及你想如何组织你的代码。
可能性
1-你的“如果”中相同的操作的查询链为每个查询
2-一个过程 - 如果“其中的”份之间的differencies不这么大的使用SQL构造,包括工会,情况和\或等,让在一个查询并存不同的情况
4-构建SQL动态和使用执行即时
通常我不喜欢1,我会尝试3或4,然后继续2如果我不能。
编辑
使用动态SQL,对失控的结果,你可以做
EXECUTE IMMEDIATE stmt into o_total_count,o_total_sum,o_hold_status,o_normal_status;
如果您对查询输入参数,可以,你必须将它们与马克:然后添加使用条款与适当的输入参数。
例
EXECUTE IMMEDIATE 'select count(*) from departments where department_id=:id' INTO l_cnt USING l_dept_id;
如果我正在使用EXCUTE IMMEDIATE,如何将值分配给OUT参数。 – user75ponic
EXECUTE IMMEDIATE sql_stmt INTO var1,var2; – Massimo
请参阅我在编辑答案中有关动态sql的其他解释 – Massimo
- 1. 动态条件
- 2. 动态条件
- 3. 骡动态条件
- 4. 动态JOIN条件
- 5. 动态条件LINQ
- 6. 线程启动时的竞态条件?
- 7. 线程启动的竞态条件
- 8. 存储过程动态WHERE条件SQL
- 9. 如何生成动态where条件的mysql程序
- 10. 动态事件条件
- 11. Nginx条件动态代理
- 12. Expression.OrElse动态创建条件
- 13. LINQ的 - 动态条件
- 14. 动态LINQ和条件
- 15. 的Javascript动态条件句
- 16. Rails 5动态条件has_many
- 17. 动态添加WHERE条件
- 18. 动态生成条件JS
- 19. LINQ中动态的条件
- 20. COUNTIF动态条件区域
- 21. 动态条件执行XSLT
- 22. 动态在哪里条件
- 23. 插入动态WHERE条件
- 24. 动态或条件加入
- 25. Magento中的动态条款和条件
- 26. informix:where条款中的动态条件
- 27. 苗条的动态条件类
- 28. C#线程竞态条件
- 29. Java条件程序
- 30. Javascript动态邮件滚动条
也许GurV是要发布一些不同的查询,而不是只有一个 – Massimo
我没有将我所有的IN参数@GurV,也有参数约10。所以会有更多的条件。 – user75ponic