oracle报单行子查询错误,Oracle SQL:where子句中的Case语句返回错误“单行子查询返回多行”...

这是一个带有CASE条件语句的select查询的where子句 . 我写这篇文章是为了满足以下要求:“如果是任何工作日,结果将包含第二天的日期,如果是星期五,结果将包括星期六,星期日和星期一的日期”

where DTTM IN (case

when to_char(sysdate,'day') <> 'friday ' then to_date(sysdate+1,'DD/MON/YY')

else (select to_date(sysdate+1,'DD/MM/YYYY') + level - 1 ddate

from dual

connect by level <= to_date(sysdate+4,'DD/MM/YYYY') - to_date(sysdate+1,'DD/MM/YYYY')

)

end)

我也使用了 IN ,但是我收到了一个错误

ORA-01427:单行子查询返回多行00000 - “单行子查询返回多行”

请帮我解决这个错误 .

以下是供您参考的完整查询:

select * from orders

where DTTM IN (case

when to_char(sysdate,'day') <> 'friday ' then to_date(sysdate+1,'DD/MON/YY')

else (select to_date(sysdate+1,'DD/MM/YYYY') + level - 1 ddate

from dual

connect by level <= to_date(sysdate+4,'DD/MM/YYYY') - to_date(sysdate+1,'DD/MM/YYYY')

)

end)

order by DTTM;

  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 第一章 Oracle入门 一、 数据库概述 数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,它产生于距今五十年前。简单来说是本身可视为电化的文件柜——存储电文件的处所,用户可以对文件的数据运行新增、截取、更新、删除等操作。 常见的数据模型 1. 层次结构模型: 层次结构模型实质上是一种有根结点的定向有序树,IMS(Information Manage-mentSystem)是其典型代表。 2. 网状结构模型:按照网状数据结构建立的数据库系统称为网状数据库系统,其典型代表是DBTG(Data Base Task Group)。 3. 关系结构模型:关系式数据结构把一些复杂的数据结构归结为简单的二元关系(即二维表格形式)。常见的有Oracle、mssql、mysql等 二、 主流数据库 数据库名 公司 特点 工作环境 mssql 微软 只能能运行在windows平台,体积比较庞大,占用许多系统资源, 但使用很方便,支持命令和图形化管理,收费。 型企业 Mysql 甲骨文 是个开源的数据库server,可运行在多种平台, 特点是响应速度特别快,主要面向小企业 小型企业 PostgreSQL 号称“世界上最先进的开源数据库“,可以运行在多种平台下,是tb级数据库,而且性能也很好 大型企业 oracle 甲骨文 获得最高认证级别的ISO标准安全认证,性能最高, 保持开放平台下的TPC-D和TPC-C的世界记录。但价格不菲 大型企业 db2 IBM DB2在企业级的应用最为广泛, 在全球的500家最大的企业,几乎85%以上用DB2数据库服务器。收费 大型企业 Access 微软 Access是一种桌面数据库,只适合数据量少的应用,在处理少量 数据和单机访问的数据库时是很好的,效率也很高 小型企业 三、 Oracle数据库概述 ORACLE数据库系统是美国ORACLE公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(CLIENT/SERVER)或B/S体系结构的数据库之一。  拉里•埃里森  就业前景 从就业与择业的角度来讲,计算机相关专业的大学生从事oracle方面的技术是职业发展的最佳选择。 其一、就业面广:全球前100强企业99家都在使用ORACLE相关技术,国政府机构,大型企事业单位都能有ORACLE技术的工程师岗位。 其二、技术层次深:如果期望进入IT服务或者产品公司(类似毕博、DELL、IBM等),Oracle技术能够帮助提高就业的深度。 其三、职业方向多:Oracle数据库管理方向、Oracle开发及系统架构方向、Oracle数据建模数据仓库等方向。 四、 如何学习 认真听课、多思考问题、多动手操作、有问题一定要问、多参与讨论、多帮组同学 五、 体系结构 oracle的体系很庞大,要学习它,首先要了解oracle的框架。oracle的框架主要由物理结构、逻辑结构、内存分配、后台进程、oracle例程、系统改变号 (System Change Number)组成  物理结构 物理结构包含三种数据文件: 1) 控制文件 2) 数据文件 3) 在线重做日志文件  逻辑结构 功能:数据库如何使用物理空间 组成:表空间、段、区、块的组成层次 六、 oracle安装、卸载和启动  硬件要求 物理内存:1GB 可用物理内存:50M 交换空间大小:3.25GB 硬盘空间:10GB  安装 1. 安装程序成功下载,将会得到如下2个文件: 解压文件将得到database文件夹,文件组织如下: 点击setup.exe执行安装程序,开始安装。 2. 点击安装程序将会出现如下安装界面,步骤 1/9:配置安全更新 填写电邮件地址(可以不填),去掉复选框,点击下一步 3. 步骤2/9:选择安装选项 勾选第一个,安装和配置数据库,点击下一步 4. 步骤3/8:选择系统类 勾选第一个:桌面类,点击下一步 5. 步骤4/8:配置数据库安装 选择安装路径,选择数据库版本(企业版),选择字符集(默认值) 填写全局数据库名,管理口令 6. 步骤5/8:先决条件检查 如果你的电脑满足要求但仍然显示检查失败,这时候直接忽略,勾选全部忽略 7. 步骤6/8:概要信息 核对将要安装数据的详细信息,并保存响应文件,以备以后查看。然后点击完成数据库安装 8. 步骤7/8:安装产品 产品安装过程将会出现以上2个界面 9. 步骤8/8:完成安装  卸载Oracle 1. 在运行services.msc打开服务,停止Oracle的所
br>精通Oracle 10g PL/SQL编程 <br><br><br>【作 者】王海亮 林立新 于三禄 郑建茹 <br>【丛 书 名】 万水Oracle技术丛书 <br><br>http://images.china-pub.com/ebook20001-25000/21975/shupi.jpg<br><br>PL/SQLOracle特有的编程语言,它不仅具有过程编程语言的基本特征(循环、条件分支等),而且还具有对象编程语言的高级特征(重载、继承等)。 本书是专门为Oracle应用开发人员提供的编程指南。通过学习本书,读者不仅可以掌握PL/SQL的基础编程知识(嵌入SQL语句和编写程序),而且还可以掌握PL/SQL的所有高级开发特征(使用记录类型、集合类型、对象类型和大对象类型)。另外,本书还为应用开发人员提供了大量Oracle9i和Oracle 10g新增加的PL/SQL特征。 本书不仅适合于PL/SQL初学者,而且也适合于有经验的PL/SQL编程人员,本书还可以作为Oracle培训班的教材或者辅助材料。 <br><br><br>前言<br>第1章 PL/SQL综述<br>1.1 SQL简介<br>1.2 PL/SQL简介<br>1.3 Oracle 10g PL/SQL新特征<br>第2章 PL/SQL开发工具<br>2.1 SQL*Plus<br>2.2 PL/SQL Developer<br>2.3 Procedure Builder<br>2.4 习题<br>第3章 PUSQL基础<br>3.1 PL/SQL块简介<br>3.1.1 PL/SQL块结构<br>3.1.2 PL/SQL块分类<br>3.2 定义并使用变量<br>3.2.1 标量变量<br>3.2.2 复合变量<br>3.2.3 参照变量<br>3.2.4 LOB变量<br>3.2.5 非PL/SQL变量<br>3.3 编写PL/SQL代码<br>3.3.1 PL/SQL词汇单元<br>3.3.2 PL/SQL代码编写规则<br>3.4 习题<br>第4章 使用SQL语句<br>4.1 使用基本查询<br>4.1.1 简单查询语句<br>4.1.2 使用WHERE子句<br>4.1.3 使用ORDERBY子句<br>4.2 使用DML语句<br>4.2.1 插入数据<br>4.2.2 更新数据<br>4.2.3 删除数据<br>4.3 使用事务控制语句<br>4.3.1 事务和锁<br>4.3.2 提交事务<br>4.3.3 回退事务<br>4.3.4 只读事务<br>4.3.5 顺序事务<br>4.4 数据分组<br>4.4.1 分组函数<br>4.4.2 GROUPBY和HAVING<br>4.4.3 ROLLUP和CUBE<br>4.4.4 GROUPINGSETS<br>4.5 连接查询<br>4.5.1 相等连接<br>4.5.2 不等连接<br>4.5.3 自连接<br>4.5.4 内连接和外连接<br>4.6 子查询<br>4.6.1 单行子查询<br>4.6.2 多行子查询<br>4.6.3 多列子查询<br>4.6.4 其他子查询<br>4.7 合并查询<br>4.8 其他复杂查询<br>4.9 习题<br>第5章 SQL函数<br>5.1 数字函数<br>5.2 字符函数<br>5.3 日期时间函数<br>5.4 转换函数<br>5.5 集合函数<br>5.6 其他单行函数<br>5.7 分组函数<br>5.8 对象函数<br>5.9 习题第<br>6章 访问Oracle<br>6.1 检索单行数据<br>6.2 操纵数据<br>6.2.1 插入数据<br>6.2.2 更新数据<br>6.2.3 删除数据<br>6.2.4 SQL游标<br>6.3 事务控制语句<br>6.4 习题<br>第7章 编写控制结构<br>7.1 条件分支语句<br>7.2 CASE语句<br>7.3 循环语句<br>7.4 顺序控制语句<br>7.5 习题<br>第8章 使用复合数据类型<br>8.1 PL/SQL记录<br>8.1.1 定义PL/SQL记录<br>8.1.2 使用PL/SQL记录<br>8.2 PL/SQL集合<br>8.2.1 索引表<br>8.2.2 嵌套表<br>8.2.3 变长数组(VARRAY)<br>8.2.4 PL/SQL记录表<br>8.2.5 多级集合<br>8.2.6 集合方法<br>8.2.7 集合赋值<br>8.2.8 比较集合<br>8.3 批量绑定<br>8.3.1 FORALL语句<br>8.3.2 BULKCOLLECT子句<br>8.4 习题<br>第9章 使用游标<br>9.1 显式游标<br>9.2 参数游标<br>9.3 使用游标更新或删除数据<br>9.4 游标FOR循环<br>9.5 使用游标变量<br>9.6 使用CURSOR表达式<br>9.7 习题<br>第10章 处理例外<br>10.1 例外简介<br>10.2 处理预定义例外<br>10.3 处理非预定义例外<br>10.4 处理自定义例外<br>10.5 使用例外函数<br>10.6 PL/SQL编译警告<br>10.7 习题<br>第11章 开发程序<br>11.1 开发过程<br>11.2 开发函数<br>11.3 管理程序<br>11.4 习题<br>第12章 开发包<br>12.1 建立包<br>12.2 使用包重载<br>12.3 使用包构造过程<br>12.4 使用纯度级别<br>12.5 习题<br>第13章 开发触发器<br>13.1 触发器简介<br>13.2 建立DML触发器<br>13.2.1 语句触发器<br>13.2.2 行触发器<br>13.2.3 使用DML触发器<br>13.3 建立INSTEADOF触发器<br>13.4 建立系统事件触发器<br>13.5 管理触发器<br>13.6 习题<br>第14章 开发动态SQL<br>14. 1 动态SQL简介<br>14.2 处理非查询语句<br>14.3 处理多行查询语句<br>14.4 在动态SQL使用BULK子句<br>14.5 习题第15章 使用对象类型<br>15.1 对象类型简介<br>15.2 建立和使用简单对象类型<br>15.3 建立和使用复杂对象类型<br>15.3.1 对象类型嵌套<br>15.3.2 参照对象类型<br>15.3.3 对象类型继承<br>15.4 维护对象类型<br>15.5 习题<br>第16章 使用LOB对象<br>16.1 LOB简介<br>16.2 DBMS LOB包<br>16.3 访问LOB<br>16.3.1 访问CLOB<br>16.3.2 访问BLOB<br>16.3.3 访问BFILE<br>16.4 习题<br>第17章 使用Oracle系统包<br>17.1 DBMS_OUTPUT<br>17.2 DBMS JOB<br>17.3 DBMS PIPE<br>17.4 DBMSAIERT<br>17.5 DBMS TRANSACTION<br>17.6 DBMS SESSION<br>17.7 DBMS ROWID<br>17.8 DBMSRLS<br>17.9 DBMS DDL<br>17.10 DBMS SHARED POOL<br>17.11 DBMSRANDOM<br>17.12 DBMS LOGMNR<br>17.13 DBMS FLASHBACK<br>17.14 DBMS OBFUSCATION TOOLKIT<br>17.15 DBMS SPACE<br>17.16 DBMS SPACE ADMIN<br>17.17 DBMSTTS<br>17.18 DBMSREPAIR<br>17.19 DBMSRESOURCE MANAGER<br>17.20 DBMS STATS<br>17.21 UTL FIIE<br>17.22 UTL INADDR<br>附录A 习题参考答案<br>附录B 使用SQL*Plus <br><br>http://www.china-pub.com/21975
表情包
插入表情
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符
©️2021 CSDN 皮肤主题: 游动-白 设计师:白松林 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值