`
king520
  • 浏览: 174705 次
  • 性别: Icon_minigender_1
  • 来自: 合肥
文章分类
社区版块
存档分类
最新评论

SQL基础:Oracle00-918:未明确定义列的错误

 
阅读更多

运行环境:Oracle10g PL/SQL环境下。
在查询语句中,经常会出现一个错误:
SQL基础:Oracle00-918:未明确定义列的错误。

当前遇到有两种情况。原因为:当查询语句中,查询的表(数据集)中有相同的字段名,查询字段无法确认是改查那个字段
时,就会报未明确定义列的错误。

第一种情况:
1.单表时:
比如fconsign表中存在三个字段:fcsg_consign_id,fcsg_consign_type,fcsg_consign_status
SELECT FCSG_CONSIGN_ID FROM (SELECT FCSG_CONSIGN_ID,FCSG_CONSIGN_TYPE,FC.* FROM FCONSIGN FC) T
这个SQL语句就会报错,因为在T中FCSG_CONSIGN_ID有两个字段,导致DBMS无法确定要查询的哪个列
SELECT FCSG_CONSIGN_STATUS FROM (SELECT FCSG_CONSIGN_ID,FCSG_CONSIGN_TYPE,FC.* FROM FCONSIGN FC) T
这样就不会报错了,T中FCSG_CONSIGN_STATUS只有一个,这样就不会报错了。

总而言之:在嵌套查询中,外查询的字段在子查询中只能出现一个,否则则无法确定是要查哪个字段。就会报
未明确定义列的错误。

2.多表联合查询
比如表A,B中都有a字段。
select a from A,B 这样就要报错。因为也是无法确定查
哪一列。需要明确定义A.a活着B.a

暂时遇到这两种情况。
如有不对,请各位指正。




分享到:
评论

相关推荐

    Oracle PL-SQL语言初级教程

    ### Oracle PL-SQL语言初级教程知识点详述 #### 一、PL/SQL语言基础 **概念解析:** PL/SQL(Procedural Language for SQL)是Oracle为增强其数据库功能而设计的一种强大的过程化编程语言。它融合了SQL的数据处理...

    sql导入到oracle

    ### SQL导入到Oracle知识点详解 #### 一、SQL Server 数据库导出至 Oracle 的准备工作 在将SQL Server数据库中的数据导入到Oracle数据库之前,需要进行一系列的准备工作。 **1. 环境准备:** - **安装环境:** ...

    鸿鹄论坛_oracle四大宝典之1:Oracle Sql基础.

    ### 鸿鹄论坛_oracle四大宝典之1:Oracle Sql基础 #### 一、SQL的起源和分类 ##### 1.1 SQL的起源 SQL(Structured Query Language,结构化查询语言)是一种用于管理和操作数据库的标准计算机语言。它最早由IBM的...

    如何:让Oracle表及字段显示为区分大小写

    然而,通过使用双引号(`"`),可以明确地告诉Oracle保持标识符的原始大小写状态。 **Oracle内部表存储原理** Oracle数据库内部对表的存储主要基于数据字典,这是一个特殊的数据库结构,用于存储数据库的元数据,...

    Oracle---PL-SQL经典练习题.docx

    在Oracle数据库管理中,PL/SQL是一种强大的编程语言,用于处理数据库操作。以下是一些关于PL/SQL的经典练习题及其涉及的知识点: 1. **声明变量和游标**: - 在PL/SQL中,`DECLARE`语句用于声明变量。例如,`v_emp...

    Oracle 程序员开发指南

    - PL/SQL 提供了一种处理运行时错误的机制,允许程序员定义自己的异常并处理预定义的异常。 - **存储过程与函数:** - 存储过程是存储在数据库中的预编译的SQL代码块,可以在需要时调用。 - 函数类似于存储过程...

    Oracle PL/SQL语言初级教程

    - **定义**: PL/SQL(Procedural Language for SQL)是Oracle为增强SQL功能而设计的一种过程化语言,它允许开发者编写复杂的数据库应用程序。 - **特点**: - 高性能:PL/SQL专为Oracle数据库环境设计,能够高效地...

    oracle_SOA

    - 在Oracle SOA Suite 11g中,BPEL被用作主要的流程编排工具,它可以帮助组织实现端到端的业务流程自动化,并支持事务管理、错误处理等功能。 3. **企业服务总线(ESB)**: - ESB是一种软件架构模式,用于实现...

    oracle 的 sql

    - **显式游标**: 明确定义和打开。 - **隐式游标**: 由PL/SQL自动创建和管理。 #### 11. 异常错误处理 - **预定义异常**: - NO_DATA_FOUND: 当没有数据被检索时抛出。 - TOO_MANY_ROWS: 当检索到多于一行数据时...

    Sqldbx连接OracleX64位,前一个版本放少东西了

    在“标签”中,“Sqldbx 连接 OracleX64位”进一步明确了问题的核心,即 Sqldbx 软件与Oracle 64位数据库之间的连接问题。通常,64位Oracle数据库需要对应的64位驱动程序和连接工具才能正常工作。 压缩包子文件的...

    ORACLE错误码及解决方法

    Oracle数据库在运行过程中可能会遇到各种错误,这些错误通常以错误码的形式出现,配合错误描述帮助开发者和管理员定位问题。本文将详细介绍几个常见的Oracle错误码及其解决方法。 首先,错误码ORA-04014和ORA-04015...

    Oracle Sql基础 宝典系列1

    ### Oracle SQL基础宝典系列1知识点详解 #### 第1章 编写基本的SQL SELECT语句 ##### 1.1 SQL的起源和分类 - **起源**:SQL(Structured Query Language,结构化查询语言)是一种专门用于管理和操作数据库的标准...

    oracle 错误合集

    **ORA-17108**:未定义列类型错误,可能是因为列类型未正确定义。 **ORA-17109**:不允许 Java 对象错误,可能是因为 Java 对象不适用于当前操作。 **ORA-17110**:执行失败错误,可能是因为操作执行失败。 **ORA...

    数据库实验报告-查询

    - **列未明确定义:** - 解决方案:在查询中明确指出所需字段所在的表。 #### 实验体会 - 通过实际操作加深了对SQL查询语句的理解和掌握。 - 学会了如何处理复杂的多表关联查询和统计分析。 - 发现了在编写SQL...

    Oracle PLSQL编程最佳实践中文版

    ### Oracle PL/SQL编程最佳实践知识点汇总 #### 概述 - **目标**: 提供一套完整的Oracle PL/SQL编程指导原则。 - **适用对象**: 面向所有使用Oracle数据库进行开发的技术人员。 #### 规范 - **命名规则**: - ...

    Oracle高效编程及SQL优化

    在SQL语句的编写上,避免使用通配符"*",应明确指定查询或插入的字段,以提高执行效率并减少潜在错误。比如: ```sql -- 错误示例 CURSOR c_CursorName IS SELECT * FROM TABLENAME ... -- 正确示例 CURSOR c_...

    Oracle 错误码大全 ERROR CODE LIST

    例如,使用`WHEN OTHERS THEN`子句可以捕获所有未明确定义的异常,并进行相应的处理。 6. **常见错误码**:一些常见的Oracle错误码有: - ORA-00911:非法字符,可能出现在SQL语句中的字符串或标识符中。 - ORA-...

    数据库设计及使用规范

    - 若需新增索引,必须提交书面申请,明确索引的定义及其必要性。 - 索引由数据库管理员统一管理。 - **初始数据提交:** - 数据库的初始数据(包括代码表和配置表)需提交给数据库管理员。 - **触发器使用限制:*...

    oracle异常(最全异常收集)

    以上列出的Oracle异常是开发和维护Oracle数据库应用程序时常见的问题。了解这些异常的原因和解决方案有助于提高数据库应用的稳定性和效率。对于每一种异常,都应该采取相应的预防措施和处理策略,确保应用程序能够...

Global site tag (gtag.js) - Google Analytics