`
peonyzzdx
  • 浏览: 590877 次
  • 性别: Icon_minigender_2
  • 来自: 杭州
社区版块
存档分类
最新评论

ORA-01747: user.table.column, table.column 或列说明无效

阅读更多
ORA-01747: user.table.column, table.column 或列说明无效
   原因之一是sql语句拼接错误,多了逗点;二是使用到了oracle的关键字所致

下面是我在写程序时遇到的异常,是因为sql拼接错误。
控制台异常:



dangerousChemicalsUnit.xml

<update id="updateDangerousChemicalsUnit" parameterClass="dangerousChemicalsUnit">
update dangerousChemicalsUnit set
<dynamic>
<isPropertyAvailable prepend="," property="id">
         
            </isPropertyAvailable>

           <isPropertyAvailable prepend="," property="organization">
            orgId=#organization.id#
            </isPropertyAvailable>
        <isPropertyAvailable prepend="," property="orgInternalCode">
            orgInternalCode=#orgInternalCode#
            </isPropertyAvailable>
           <isPropertyAvailable prepend="," property="unitAddress">
            unitAddress=#unitAddress#
            </isPropertyAvailable>
               ……
       where  id = #id#
         </dynamic>
</update>


将控制台打印的sql语句在plsql中执行发现:sql语句在xml中拼接错误


改正dangerousChemicalsUnit.xml

<update id="updateDangerousChemicalsUnit" parameterClass="dangerousChemicalsUnit">
update dangerousChemicalsUnit set
<dynamic>      
unitName=#unitName#
<isPropertyAvailable prepend="," property="organization">
            orgId=#organization.id#
            </isPropertyAvailable>
        <isPropertyAvailable prepend="," property="orgInternalCode">
            orgInternalCode=#orgInternalCode#
            </isPropertyAvailable>
           <isPropertyAvailable prepend="," property="unitAddress">
            unitAddress=#unitAddress#
            </isPropertyAvailable>
               ……
       where  id =#id# 
         </dynamic>
</update>

// 此处只要确保拼接的sql语句正确即可。避免update  dangerousChemicalsUnit set ,orgId=#organization.id#.....

  • 大小: 23.8 KB
  • 大小: 4.4 KB
分享到:
评论

相关推荐

    instantclient-sqlplus-windows.x64-21.13.0.0.0dbru.zip

    4. 编辑tnsnames.ora文件,添加或修改数据库连接描述,定义要连接的服务名。 5. 在命令行输入`sqlplus /nolog`,然后使用`CONNECT username/password@service_name`登录到Oracle数据库。 使用SQL*Plus的一些基本...

    查找oracle数据库表中是否存在系统关键字的方法

    今天在工程中遇到“ORA-01747: user.table.column, table.column 或列说明无效”的报错情况,查了一下是由于数据库列名起的不好引起的,名字用到了数据库的关键字。 select * from v$reserved_words where keyword ...

    oracle常用命令及错误类型(error message)

    - `CREATE TABLE 表名 (column1 数据类型, column2 数据类型, ...);` 8. 查看表结构: - `DESCRIBE 表名;` 9. 数据库对象查询: - `SELECT * FROM DBA_OBJECTS WHERE OBJECT_TYPE = 'TABLE';` 10. 执行SQL脚本...

    oracle恢复工具-FY_Recover_Data

    到此已经说明了如何恢复Truncate表了. 跟据原理可以创建一个恢复包Recover_Truncate_Data,然后我们可以做个实验进行验证恢复效果如何: 第一步:创建表 create ...

    cms后台管理

    &lt;class name="MyContent" table="jc_mycontent"&gt; &lt;meta attribute="sync-DAO"&gt;false&lt;/meta&gt; &lt;cache usage="read-write"/&gt; &lt;id name="id" type="java.lang.Integer" column="id"&gt;...

    oracle创建数据库、表、以及权限的配置

    在Oracle数据库管理中,创建数据库、表以及设置权限是日常操作的重要组成部分,这对于任何数据库管理员或开发者来说都是必备技能。Oracle作为一个功能强大的关系型数据库管理系统,提供了丰富的工具和语法来支持这些...

    Oracle数据库学习日记-实用性最强的Oracle学习总结.docx

    - 使用 `SELECT` 语句查询表中的指定列或所有列。 - 示例:`SELECT ID, NAME FROM MY_TABLE;` - 示例:`SELECT * FROM MY_TABLE;` ##### 5.3 Distinct 取消重复行 - 使用 `DISTINCT` 关键字可以去除查询结果中的...

    违反完整性约束 未找到父项关键字

    在关系型数据库中,一个表中的某一列或几列可以通过定义为外键来引用另一个表的主键或唯一键。这样做可以确保两个表之间的数据一致性,即当在子表中插入一条记录时,必须确保其外键值在父表中存在相应的匹配记录。 ...

    Oracle数据库学习日记

    - **查询指定列**: 使用 `select column_name from table_name;` - 示例: `select name from employees;` ##### 5.3 Distinct 取消重复行 - **去除重复**: 使用 `distinct` 关键字。 - 示例: `select distinct ...

    韩顺平玩转Oracle 课件

    - **修改表**:通过 `ALTER TABLE` 来修改现有表的结构(如添加、删除或修改列)。 - **删除表**:利用 `DROP TABLE` 命令可以删除整个表及其所有数据。 - **查看表信息**:使用 `DESCRIBE table_name` 或者 `SELECT...

    oracle常用命令大全

    - `ORDER BY`:按指定列排序结果,如`SELECT * FROM table_name ORDER BY column_name ASC/DESC`。 3. **数据插入、更新和删除**: - `INSERT INTO`:插入新记录,如`INSERT INTO table_name (column1, column2)...

    Oracle查询用户所有表的语句

    select t.*, c.COMMENTS from user_tab_columns t, user_col_comments c where t.table_name = c.table_name and t.column_name = c.column_name and t.table_name = 要查询的表 修改表结构更改表的结构: 1. 编辑...

    Oracle学习要点记录(包括DML\DDL等数据库管理语句)

    - 示例:`ALTER TABLE ic_saleout_b ADD (column1 DECIMAL(28,8), column2 DECIMAL(28,8));` - 这条语句向`ic_saleout_b`表中添加了两个新的列`column1`和`column2`。 - **`DROP`语句**: - 用于删除数据库对象...

    jdbc基础和参考

    table s_user( id , name, age) class User{ } //分别使用Statement对象和PreparedStatement对象实现 public class JDBCTest{ //查找s_user表中所有的数据,并且返回他们的集合 public Collection&lt;User&gt; find...

    ora分析脚本

    - [-u &lt;user/passwd&gt;] colstats stats for each table, column - [-u &lt;user/passwd&gt;] tabstats stats for each table - params []: view all parameters, even hidden ones - snap: view all snapshots status ...

    Oracle sqldeveloper without jdk (win+linux)

    - Bug 5084687: When a table to be edited contains a column with character length semantics, the Edit Table dialog box will show the byte length instead of the character length of this column. ...

    Oracle常用命令大全

    - **查询`USER_INDEXES`表字段的含义**: `SELECT COLUMN_NAME, COMMENTS FROM DICT_COLUMNS WHERE TABLE_NAME = 'USER_INDEXES';` - **2. 用户常用数据字典查询方法** - **查看当前用户的缺省表空间**: - `...

Global site tag (gtag.js) - Google Analytics