如何在ORACLE的游标中动态地构造SQL语句啊?

追寻梦中人 追寻梦中人 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
现在有这样一条语句:
select nvl(sum(fqty),0) into vpickqty from table1
where f1 >= PIFIRSTBIN
and f2 <= PILASTBIN;
我想这样:
当PIFIRSTBIN = ''时,SQL语句变为:
select nvl(sum(fqty),0) into vpickqty from table1
where f2 <= PILASTBIN;
当PILASTBIN = ''时,SQL语句变为:
select nvl(sum(fqty),0) into vpickqty from table1
where f1 >= PIFIRSTBIN;
如果都为空是,SQL语句变为:
select nvl(sum(fqty),0) into vpickqty from table1;

这个除了用
if
select nvl(sum(fqty),0) into vpickqty from table1
where f2 <= PILASTBIN;
elsif
select nvl(sum(fqty),0) into vpickqty from table1
where f1 >= PIFIRSTBIN;
else
select nvl(sum(fqty),0) into vpickqty from table1;
外还有什么其他办法吗?

如果这样的判断需要在游标里进行的话,
难道因为条件不同,需要写三个游标吗?
...全文

相关推荐

数据库嵌入式SQL介绍与应用

第六章 嵌入式SQL(E-SQL)简介 3 第一节 什么是嵌入SQL语言? 3 1.1 嵌入SQL程序的组成元素 3 1.2 什么是静态SQL和动态SQL? 4 1.3 什么是SQLCA? 4 1.4 什么是SQLDA? 5 第二节 SYBASE SQL SERVER嵌入式SQL语言 5 2.1 一个嵌入SQL语言的简单例子 5 2.2 嵌入SQL的处理过程 6 2.3 嵌入SQL语句总览 7 2.3.1 宿主变量 7 2.3.2 连接数据库 12 2.3.3 数据的查询和修改 13 2.3.4 游标的使用 13 2.3.5 SQLCA 15 2.3.6 WHENEVER 16 2.3.7 批处理 18 2.3.8 事务 18 2.4动态SQL语句 18 2.4 .1 动态修改 19 2.4.2 动态游标 20 2.4.3 SQLDA 23 2.4.4 DESCRIBE语句 27 2.5 两个例子程序 27 2.5.1 TELECOM程序 27 2.5.2 ADHOC程序 29 第三节 IBM DB2嵌入SQL语言 35 3.1 一个简单示例 35 3.2 嵌入SQL语句 37 3.2.1宿主变量 37 3.2.2单行查询 39 3.2.3多行查询 39 3.2.4插入、删除和修改操作 40 3.2.5 SQLCA 43 3.2.6事务 45 3.3 DB2的嵌入SQL程序处理过程 46 3.4 DB2的动态SQL嵌入语句 53 3.4.1 基本方法 53 3.4.2 动态游标 55 3.4.3 SQLDA 55 第四节 ORACLE数据库的嵌入SQL语言 66 4.1 基本的SQL语句 66 4.1.1宿主变量和指示符 66 4.1.2 查询 68 4.1.3 修改数据 68 4.1.4 游标 68 4.2 嵌入PL/SQL 71 4.3 动态SQL语句 72 4.3.1 ORACLE动态SQL语句的一些特点 72 4.3.2 使用动态SQL的四种方法 72 4.3.3 SQLDA 75 第五节INFORMIX的嵌入SQL/C语言 89 5.1 一个简单的入门例子 89 5.2 宿主变量 91 5.3 嵌入SQL的处理过程 96 5.4 动态SQL语言 96 5.4.1 SQLDA 97 第六节MICROSOFT SQL SERVER7嵌入式SQL语言 105 6.1 一个嵌入SQL语言的简单例子 105 6.2 嵌入SQL的处理过程 106 6.3 嵌入SQL语句 112 6.3.1 声明嵌入SQL语句中使用的C变量 112 6.3.2 连接数据库 115 6.3.3 数据的查询和修改 115 6.3.4 游标的使用 116 6.3.5 SQLCA 117 6.3.6 WHENEVER 118 6.4动态SQL语句 119 6.4 .1 动态修改 119 6.4.2 动态游标 120 6.4.3 SQLDA 122 6.4.4 DESCRIBE语句 130 6.5 API 130

sunjianle6078

16、Confluence高级功能与管理指南

本文详细介绍了Confluence的高级功能与管理技巧,包括用户宏参数的定义与使用、宏模板代码中的可用对象、如何在用户宏中包含其他宏、页面属性宏的应用、快捷链接的配置以及插件管理的相关操作。这些内容旨在帮助用户提升Confluence的使用效率并实现更强大的功能扩展。

v5w6x

Oracle proc

很好,很实用,嵌入了SQL LOB 类型处理结构 ※ 增加了对标准动态SQL 接口的支持 Pro*C/C++从此版本起具备了执行标准动态SQL 语句的接口,增强了Oracle 动态 语句接口的功能。标准动态SQL 语句接口支持所有Oracle 的数据类型,包括 Objects,结构数组,游标变量和LOBS。 ※ DML 语句开始支持返回

jiangyanshan33

Oracle Sql语句转换成Mysql Sql语句

Oracle Sql语句转换成Mysql Sql语句java 源码,非常简单,只要给定源oracle sql语句地址,和生成目标文件地址运行即可。

HelloLogan

Oracle动态执行SQL四种方式的例子

Oracle动态执行SQL四种方式的例子

wx9816140
评论 11
收藏 已收藏
分享
返回顶部
追寻梦中人
基础和管理 17,379 成员 95,111 内容